我想在数据透视表中添加一个过滤条件,如下所示:
(选择 v2 等于 'A' 的值)
pd.pivot_table(df,index=['v1'],columns=['v2'=='A'],values=['v3'],aggfunc='count')
这可能吗?
最佳答案
这是 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')
添加多个过滤器: 使用 &、| 运算符和一组 () 来指定优先级。 使用 and、or 会导致错误。
df[(df.v3 == some_value) & (df.v4 == some_value)].pivot_table(index='v1', columns='A', values='v3', aggfunc='count')
关于python - 向 Pandas 数据透视表添加过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43235930/