我读了一个csv文件,如下所示:

import pandas as pd

out = "M:/transitions.csv"
transitions = pd.read_csv(out)

transitions = transitions.groupby('unique_pid')


这是我的数据框的样子:

In [11]: transitions.head()
Out[11]:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 5 entries, 0 to 4
Data columns (total 24 columns):
Unnamed: 0                5  non-null values
Unnamed: 0.1              5  non-null values
Unnamed: 0.1              5  non-null values
unique_pid                5  non-null values
Unnamed: 1                5  non-null values
unique_pid.1              5  non-null values
age                       5  non-null values
age2                      5  non-null values
year                      5  non-null values
Single-family house       5  non-null values
Duplex/ 2-family house    5  non-null values
Multifamily               5  non-null values
Mobile Home/ trailer      5  non-null values
Condo                     5  non-null values
Townhouse                 5  non-null values
Other                     5  non-null values
Don't know                5  non-null values
Refused                   5  non-null values
numrooms                  5  non-null values
famsize                   5  non-null values
moved                     5  non-null values
whymoved                  5  non-null values
seniorh                   5  non-null values
inst                      5  non-null values
dtypes: float64(10), int64(14)


我得到以下错误:

TypeError: 'DataFrame' object is not callable


我使用以下代码检查了键“ unique_pid”是否在我的数据框中:

In [8]: print 'unique_pid' in transitions
True


因此,它显然是有效的密钥。我以前以这种方式多次使用groupby都没有问题,所以我不确定出什么问题。

最佳答案

这似乎是此SO question中问题的更细微版本。

本质上,尽管DF将愉快地导入具有多个相同名称的列的数据,但groupby函数似乎在这种数据帧上窒息而死。重命名重复的列名通常可以解决问题。关于您的问题的奇怪之处在于,这些列并不完全相同,而只是非常接近。不知道为什么那会是一个问题。但是,我看到Unnamed:0.1出现了两次,这可能也弄糟了。当不得不处理遭受此重复的数据时,我建议执行第一步,以合理且唯一的名称列表重命名所有列标题。您可以通过将新列标题字符串的列表分配给transitions.columns la来实现:

 transitions.columns  = ['Unnamed_A', 'Unnamed_B', 'Unnamed_C', 'unique_pid_A', 'Unnamed_D', 'unique_pid_B', 'age', 'age2', 'year', 'Single-family house', 'Duplex_2_family hou', 'Multifamily', 'Mobile Home/ trailer', 'Condo', 'Townhouse', 'Other', 'Don't know', 'Refused', 'numrooms', 'famsize', 'moved', 'whymoved', 'seniorh', 'inst']

09-10 11:26
查看更多