【问题标题】:To_CSV unique values of a pandas column [duplicate]熊猫列的 To_CSV 唯一值[重复]
【发布时间】: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_csvpandas.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) 以查看数据类型

标签: python pandas csv numpy


【解决方案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')
    

    【讨论】:

      猜你喜欢
      • 2021-08-12
      • 2017-05-30
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 2016-01-17
      • 2020-02-02
      • 2021-08-03
      • 1970-01-01
      相关资源
      最近更新 更多