2017-04-05 58 views

回答

1

如果要按列筛选,只需传递一个列名称或名称列表即可。例如:

pd.pivot_table(df, index='v1', columns='A', values='v3', aggfunc='count') 
pd.pivot_table(df, index='v1', columns=['A', 'B', 'C'], values='v3', aggfunc='count')  

如果要按值筛选,只需筛选DataFrame即可。例如:

pd.pivot_table(df[df.v3 == some_value], index='v1', columns='A', values='v3', aggfunc='count') 
1

这是Grr's的扩展答案。

使用他们的建议:

pd.pivot_table(df[df.v3 == some_value], index='v1', columns='A', values='v3', aggfunc='count') 

产生一个错误:

"TypeError: pivot_table() got multiple values for argument 'values'"

我做了一个轻微的调整,它的工作对我来说:

df[df.v3 == some_value].pivot_table(index='v1', columns='A', values='v3', aggfunc='count')