Pandas中的pivot_tables意外输出

时间:2013-05-06 16:05:01

标签: python pandas

当我在Pandas中发现这种行为时,我正在关注此blogpost

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。这是一个错误还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

这是一种使用'size'作为聚合函数创建数据透视表的方法:

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