To_CSV pandas列的唯一值

ZJA*_*JAY 6 python csv numpy pandas

当我使用以下内容时:

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')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

AttributeError: 'numpy.ndarray' object has no attribute 'to_csv'
Run Code Online (Sandbox Code Playgroud)

Fab*_*nna 10

IIUC,从数据框架开始:

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

您可以使用以下内容获取列的唯一值:

g = df['b'].unique()
Run Code Online (Sandbox Code Playgroud)

返回一个数组:

array(['a', 'b', 'c'], dtype=object)
Run Code Online (Sandbox Code Playgroud)

将它保存为.csv文件我会将其转换为Seriess:

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

In [23]: s
Out[23]: 
0    a
1    b
2    c
dtype: object
Run Code Online (Sandbox Code Playgroud)

所以你可以轻松保存它:

In [24]: s.to_csv('file.csv')
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.


unu*_*tbu 6

pandas 的等价物np.uniquedrop_duplicates方法

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
Run Code Online (Sandbox Code Playgroud)

请注意,它drop_duplicates返回一个 Series,因此您可以调用它的to_csv方法:

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')
Run Code Online (Sandbox Code Playgroud)