gpt4 book ai didi

python - Pandas 获取元素直到值发生变化

转载 作者:行者123 更新时间:2023-12-01 09:54:29 24 4
gpt4 key购买 nike

我正在使用 Pandas 处理一个大型数据框,在那里我需要拥有所有元素,直到一个值发生变化。例如:

e1    e2
1 15
1 16
1 17
0 14
0 13
0 14
1 16
1 15

这里我想要前三个元素,然后是接下来的三个元素,然后是最后两个元素。
我想知道是否有 Pandas 的方法。

最佳答案

您需要对 DataFrame 进行一些转换才能获得所需的信息。

我会这样做:

df["e3"] = df["e1"].shift(1)
df["e4"] = df["e1"] != df["e3"]
df["e5"] = df["e4"].cumsum()
df

e1 e2 e3 e4 e5
0 1 14 NaN True 1
1 1 15 1 False 1
2 1 15 1 False 1
3 0 16 1 True 2
4 0 1 0 False 2
5 0 15 0 False 2
6 1 15 0 True 3
7 1 16 1 False 3

了解 e5 现在如何为每个组唯一命名。

现在我们可以使用 groupby 函数来获取每个组,如下所示:
groups = df.groupby("e5")

并对组执行您的操作

关于python - Pandas 获取元素直到值发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132659/

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