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