我有一个csv文件,其中一列是“locations”。当我尝试下面的代码时,我收到了关键错误“位置”。该代码适用于早期版本的pandas。 “places_count = list(data1 ['locations'])”导致错误。有谁知道这个错误的原因。
data = pd.read_csv('data//datafile.csv')
data1 = data.groupby('locations').count()
places = list(data1.index)
places_count = list(data1['locations'])
datafile.csv的内容:
+++++++++++++++++++++++
Name | locations | states
A | Hyderabad | Andhra Pradesh
B | Hyderabad | Andhra Pradesh
C | Agartala | Tripura
D | Ahmedabad | Gujarat
+++++++++++++++++++++++
答案 0 :(得分:3)
正如@FooBar所说,你的列名可能有空格。您可以使用data = pd.read_csv('tmpdat.csv', skipinitialspace=True)
在导入中修复该问题。
但是,您的代码仍然无法运行,因为data1
没有locations
列,因为您已经按locations
分组了。我不确定您想要做什么,但是,如果您尝试计算每个位置的观察次数,我建议data.locations.value_counts()
而不是{{1} }。
答案 1 :(得分:2)
我在Pandas 0.14
中尝试了通过read_clipboard()
读取的代码并得到了相同的错误。
但是,经过进一步检查,我得到的列名有空格。以下应用程序正常运行:
data = data.rename(columns=lambda x: x.strip())
data.groupby('locations')
Out[408]: <pandas.core.groupby.DataFrameGroupBy object at 0x0000000010CB5B70>