【问题标题】:how to Find unique values in a column?Attribute Error: "DataFrame" object has no attribute如何在列中查找唯一值?属性错误:“DataFrame”对象没有属性
【发布时间】:2018-08-24 14:09:35
【问题描述】:

我正在制作一个可以占用任何 csv 文件的通用工具。我有一个看起来像这样的 csv 文件。第一行是列名,第二行是变量的类型。

Time,M1,M2,M3,CityName
temp,num,num,num,city
20-May-13,19,20,0,aligarh
20-May-13,25,42,7,agra
20-May-13,23,35,4,aligarh
20-May-13,21,32,3,allahabad
20-May-13,17,27,1,aligarh
20-May-13,16,40,5,aligarh

我想在变量类型为“城市”的列中找到唯一值,即第二行。我已经能够搜索类型为“城市”的列名并尝试查找唯一值,但由于它给出错误而无法进一步成功。

filename = 'sam.csv'
data_date = pd.read_csv(filename)
column_name = data_date.ix[:, data_date.loc[0] == "city"]
column_work = column_name.iloc[1:]
name = column_work.dtypes.index
column_unique = data_date.column_work.unique()
print(column_unique)

我想要一个列表中的唯一值,例如,

[aligarh,agra,allahabad]

【问题讨论】:

    标签: python-3.x pandas csv numpy unique


    【解决方案1】:

    unique+tolist

    column_work.CityName.unique().tolist()
    Out[87]: ['aligarh', 'agra', 'allahabad']
    

    【讨论】:

    • 我不能将列名用作“CityName”,因为它是一个通用应用程序并且可以采用任何 csv 文件。列名可能不同。
    • @KuhuGupta 改为 column_work.iloc[:,0].unique().tolist()
    • 我尝试使用计算的“名称”变量代替“城市名称”,但它给了我一个错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2021-01-21
    相关资源
    最近更新 更多