1

当我在Pandas中发现这种行为时,我正在关注这篇博文:

df = pd.read_csv("http://www.ats.ucla.edu/stat/data/binary.csv")
df.columns = ["admit", "gre", "gpa", "prestige"]
pd.pivot_table(df,values='admit',rows=['admit'], cols=['prestige'],aggfunc='count')
TypeError: 'DataFrame' object is not callable

但是,如果您将行和列称为df['admit'], df['prestige'],则会得到预期的结果:

pd.pivot_table(df,values='admit',rows=df['admit'], cols=df['prestige'],aggfunc='count')
prestige   1   2   3   4
admit                   
0         28  97  93  55
1         33  54  28  12

根据文档,我应该只能使用列表或数组中的列名来引用 DataFrame。这是一个错误还是我错过了什么?

4

1 回答 1

1

这是一种创建以“大小”为聚合函数的数据透视表的方法:

In [11]: df.pivot_table(rows='admit', cols='prestige', aggfunc='size')
Out[11]: 
prestige   1   2   3   4
admit                   
0         28  97  93  55
1         33  54  28  12
于 2013-05-06T17:03:58.053 回答