2017-04-05 59 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')