当我在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