gpt4 book ai didi

Python:只要组包含任何特定值,如何过滤数据

转载 作者:行者123 更新时间:2023-12-03 20:19:40 26 4
gpt4 key购买 nike

df = pd.DataFrame({'VisitID':[1,1,1,1,2,2,2,3,3,4,4], 'Item':['A','B','C','D','A','D','B','B','C','D','C']})

我有一个这样的数据集:

VisitID | Item |
1 | A |
1 | B |
1 | C |
1 | D |
2 | A |
2 | D |
2 | B |
3 | B |
3 | C |
4 | D |
4 | C |

我想返回 VisitID 行,只要该 VisitID 出现了项目 A 或 B。我该如何操作?预期结果:

VisitID | Item |
1 | A |
1 | B |
1 | C |
1 | D |
2 | A |
2 | D |
2 | B |
3 | B |
3 | C |

在 R 中,我可以通过

做到这一点
library(dplyr)
df %>% group_by(VisitID) %>% filter(any(Item %in% c('A', 'B')))

如何在 Python 中执行此操作?类似 df.groupby(['VisitID']).query(any(['A','B']))?

最佳答案

语法类似,只是使用groupby.filter:

df.groupby('VisitID').filter(lambda g: g.Item.isin(['A','B']).any())

VisitID Item
0 1 A
1 1 B
2 1 C
3 1 D
4 2 A
5 2 D
6 2 B
7 3 B
8 3 C

关于Python:只要组包含任何特定值,如何过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61966893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com