过滤groupby对象中的所有行

汤米

我有一个如下数据框

+-----------+------------+---------------+------+-----+-------+
| InvoiceNo | CategoryNo | Invoice Value | Item | Qty | Price |
+-----------+------------+---------------+------+-----+-------+
|         1 |          1 |            77 |  128 |   1 |    10 |
|         1 |          1 |            77 |  101 |   1 |    11 |
|         1 |          2 |            77 |  105 |   3 |    12 |
|         1 |          3 |            77 |  129 |   2 |    10 |
|         2 |          1 |            21 |  145 |   1 |     9 |
|         2 |          2 |            21 |  130 |   1 |    12 |
+-----------+------------+---------------+------+-----+-------+

如果要按组分组,如果item_list = [128,129,130]该组中存在列表中的任何项目,我想过滤整个组'InvoiceNo' &'CategoryNo'

我想要的输出如下

+-----------+------------+---------------+------+-----+-------+
| InvoiceNo | CategoryNo | Invoice Value | Item | Qty | Price |
+-----------+------------+---------------+------+-----+-------+
|         1 |          1 |            77 |  128 |   1 |    10 |
|         1 |          1 |            77 |  101 |   1 |    11 |
|         1 |          3 |            77 |  129 |   2 |    10 |
|         2 |          2 |            21 |  130 |   1 |    12 |
+-----------+------------+---------------+------+-----+-------+

我知道如何使用过滤数据框isin()但是,不确定如何使用groupby()

到目前为止,我已经在下面尝试过

import pandas as pd

df = pd.read_csv('data.csv')

item_list = [128,129,130]

df.groupby(['InvoiceNo','CategoryNo'])['Item'].isin(item_list)

但是什么也没发生。请指导我如何解决此问题。

广晃

您可以执行以下操作:

s = (df['Item'].isin(item_list)
       .groupby([df['InvoiceNo'], df['CategoryNo']])
       .transform('any')
    )

df[s]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

过滤对象数组中的所有值

从Pandas中的GroupBy对象获取所有密钥

如何按对象数组中的所有属性过滤?

GroupBy,但仍保留所有行

groupby 的所有行的条件

在熊猫中的GroupBy对象中过滤

在SparkSQL中执行GroupBy之后获取所有行

过滤至少有1行满足条件的GroupBy对象

如何在熊猫中过滤groupby对象

在对象数组中,过滤相等的对象。(所有属性匹配)

用于过滤至少一行中具有特定值的所有行的 SQL 查询

如何在Python中查看/保存对象的所有行?

熊猫groupby对象过滤

过滤Javascript数组以检查所有嵌套对象中的特定值

制作Q对象的正确方法是过滤Django QuerySet中的所有条目?

如何使用Django的ORM过滤多对多关系中包含多个元素的所有对象?

根据行的所有单元格的值从矩阵中过滤行

如何序列化所有行而不是 Webix 数据表中过滤的行

如何计算带有限制的某些过滤器的查询表中的所有行?

过滤掉所有行中具有相同值的列

如何过滤python中列中包含“孤立”nan值的所有行

ng-grid过滤始终过滤所有行

过滤选择比获取所有行然后过滤更快

过滤所有数字存在于另一个矩阵中的所有行

通过匹配Pandas df中所有列中的子字符串来过滤所有行

如何过滤对象数组,其中对象内的数组包含另一个数组中的所有项目?

计算所有行并在单个json对象中显示有限数量的行

在 DataFrame 中的所有列上使用 groupby()

如何过滤反应中的所有字段?