gpt4 book ai didi

python - Pandas :删除除第一个新出现的值之外的行

转载 作者:行者123 更新时间:2023-12-04 01:05:19 24 4
gpt4 key购买 nike

我有一个数据框

x y
a 1
b 1
c 1
d 0
e 0
f 0
g 1
h 1
i 0
j 0

我想删除带有 0 的行,除了 1 之后第一次新出现的 0,所以结果数据帧应该是

x y
a 1
b 1
c 1
d 0
g 1
h 1
i 0

是否可以在不创建组或逐行迭代的情况下完成它以使其更快,因为我有一个大数据框。

最佳答案

让我们尝试使用 cumsum 创建连续值组的 diff ,然后尝试 duplicated

out = df[~df.y.diff().ne(0).cumsum().duplicated() | df.y].copy()
Out[352]:
x y
0 a 1
1 b 1
2 c 1
3 d 0
6 g 1
7 h 1
8 i 0

关于python - Pandas :删除除第一个新出现的值之外的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66681835/

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