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

最佳答案

这是一种创建具有“ 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

09-26 21:08