多条件过滤器 python pandas

Posted

技术标签:

【中文标题】多条件过滤器 python pandas【英文标题】:Multi condition filter python pandas 【发布时间】:2022-01-09 08:54:10 【问题描述】:

我有一个带有这样数据的熊猫数据框...

df0

Customer Product Price
A x $12
B y $15
B y $10
C x $19
C y $9
D x $16
D y $8
D y $10

我需要把这个数据集分成两个数据框:

客户只有一种产品的数据框。另一个数据框,其中客户拥有多种此类产品...

df1

Customer Product Price
A x $12
B y $15
B y $10

df2

Customer Product Price
C x $19
C y $9
D x $16
D y $8
D y $10

然后,我将对价格进行一些分析,作为后续步骤。 我知道如何过滤一列,但我不知道需要像这样使用两列的过滤器。 有人可以帮忙将数据分成两个数据框的代码吗? 非常感谢

【问题讨论】:

【参考方案1】:

如果你使用

df0.Product.groupby(df0.Customer).transform('nunique')

将为该行中的客户返回唯一产品的数量。所以

df0[df0.Product.groupby(df0.Customer).transform('nunique') > 1]

例如,将创建一个包含所有产品的 DataFrame。

【讨论】:

以上是关于多条件过滤器 python pandas的主要内容,如果未能解决你的问题,请参考以下文章

pandas使用组合条件筛选过滤数据行

如何在 pandas 中使用过滤条件和 groupby

根据 Pandas 中的条件过滤行

在 Pandas 中使用条件列表过滤 DataFrame

如何使用 python 或 pandas 根据包含字典列表的列过滤 DataFrame?

火花数据集过滤器列,条件如pandas