2016-03-19 14 views
2

Wenn ich folgendes:To_CSV eindeutige Werte eines Pandas Spalte

import pandas as pd 
data = pd.read_csv('C:/Users/Z/OneDrive/Python/Exploratory Data/Aramark/ARMK.csv') 
x = data.iloc[:,2] 
y = pd.unique(x) 
y.to_csv('yah.csv') 

bekomme ich folgende Fehlermeldung:

AttributeError: 'numpy.ndarray' object has no attribute 'to_csv' 
+1

'to_csv' ist eine [pandas.DataFrame-Methode] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html), keine numpige Array-Methode. Verwandeln Sie Ihre Daten in einen Pandas DataFrame oder verwenden Sie die entsprechende numpy-Methode. Vielleicht [das ist hilfreich] (https://stackoverflow.com/questions/6081008/dump-a-numpy-array-into-a-csv-file) – jDo

+0

Mit pd.read_csv, ist das nicht ein panas .DataFrame? – ZJAY

+1

Shucks, du hast mich geschlagen, @ TadhgMcDonald-Jensen! : P – jDo

Antwort

4

IIUC, von einem Datenrahmen Start:

df = pd.DataFrame({'a':[1,2,3,4,5,6],'b':['a','a','b','c','c','b']}) 

können Sie erhalten die eindeutige Werte einer Spalte mit:

g = df['b'].unique() 

, die ein Array zurückgibt:

In [22]: s = pd.Series(g) 

In [23]: s 
Out[23]: 
0 a 
1 b 
2 c 
dtype: object 

So können Sie ganz einfach speichern:

array(['a', 'b', 'c'], dtype=object) 

es in eine CSV-Datei speichern ich es in Series s verwandeln würde

In [24]: s.to_csv('file.csv') 

Hoffe, dass hilft.

0

Die Pandas Äquivalent np.unique ist die drop_duplicates method.

In [42]: x = pd.Series([1,2,1,3,2]) 

In [43]: y = x.drop_duplicates() 

In [46]: y 
Out[46]: 
0 1 
1 2 
3 3 
dtype: int64 

Beachten Sie, dass drop_duplicates kehrt eine Serie, so können Sie seine to_csv Methode aufrufen:

import pandas as pd 
data = pd.read_csv('C:/Users/Z/OneDrive/Python/Exploratory Data/Aramark/ARMK.csv') 
x = data.iloc[:,2] 
y = x.drop_duplicates() 
y.to_csv('yah.csv') 
Verwandte Themen