熊猫列的 To_CSV 唯一值[重复]

Posted

技术标签:

【中文标题】熊猫列的 To_CSV 唯一值[重复]【英文标题】:To_CSV unique values of a pandas column [duplicate] 【发布时间】:2016-07-06 13:17:06 【问题描述】:

当我使用以下内容时:

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')

我收到以下错误:

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

【问题讨论】:

to_csv 是 pandas.DataFrame method,而不是 numpy 数组方法。将您的数据转换为 pandas DataFrame 或使用适当的 numpy 方法。也许this'll be helpful 使用pd.read_csv,这不是panas.DataFrame吗? 嘘,你打败了我,@TadhgMcDonald-Jensen! :P pd.unique() 返回numpy.ndarray,因为错误非常明显。 print(type(y)) @ZJAY 显然不是(我相信口译员)。您可以随时在脚本中的各个位置调用 type(your_variable) 以查看数据类型 【参考方案1】:

IIUC,从数据框开始:

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

您可以通过以下方式获取列的唯一值:

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

返回一个数组:

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

要将其保存为 .csv 文件,我会将其转换为 Series s:

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

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

所以你可以很容易地保存它:

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

希望对您有所帮助。

【讨论】:

【参考方案2】:

np.unique 的 pandas 等效项是 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

注意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')

【讨论】:

以上是关于熊猫列的 To_CSV 唯一值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何计算熊猫数据框中每一列的唯一性?

熊猫数据框:在固定其他列的列中提取具有特定标准/条件最小值的数据[重复]

将列值分配给熊猫数据框中的唯一行[重复]

计算熊猫列中每个唯一值的数量[重复]

如何在 PySpark 中进行分组并查找列的唯一项目 [重复]

熊猫计算唯一值并更改为百分比并放入绘图条形图中