Skip to main content
 首页 » 编程设计

python之向 Pandas 数据透视表添加过滤器

2025年05月04日17zlslch

我想在数据透视表中添加一个过滤条件,如下所示:

(选择 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')