gpt4 book ai didi

python - 在另一列中出现特定值之前,Pandas 选择行的子集

转载 作者:行者123 更新时间:2023-11-28 22:12:12 24 4
gpt4 key购买 nike

我想在值出现在 Y 列、Groupby X 列之前从我的数据框中提取行的子集。

例如,在这种情况下,对于 X 中的每个唯一值,我想提取 Y 中出现“1”之前的所有行,并且输出应包括遇到第一个“1”的行。

          X      Y      Z
index
0 A 0 56
1 A 0 67
2 A 1 66
3 A 0 83
4 A 1 88
5 B 0 52
6 B 1 66
7 B 1 70
8 C 0 68
9 C 0 72
10 D 1 65

我想要的输出是:

          X      Y      Z
index
0 A 0 56
1 A 0 67
2 A 1 66
5 B 0 52
6 B 1 66
8 C 0 68
9 C 0 72
10 D 1 65

提前致谢。

最佳答案

您可以使用 groupbyapply 以及 cumsum()x2 技巧:

df[df.groupby('X').Y.apply(lambda x: x.cumsum().cumsum()).le(1)]

X Y Z
index
0 A 0 56
1 A 0 67
2 A 1 66
5 B 0 52
6 B 1 66
8 C 0 68
9 C 0 72
10 D 1 65

关于python - 在另一列中出现特定值之前,Pandas 选择行的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55151365/

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