gpt4 book ai didi

python - Pandas+Python - 如何知道值何时发生变化?

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

我一直在处理 DataFrame,例如下面的摘录,我想知道值何时更改:

     A     M     C
0 2.0 1 C1
1 2.0 1 C1
2 2.0 2 C1
3 2.0 2 C1
4 2.0 3 C1
5 2.0 3 C1
6 2.0 1 C2
7 2.0 1 C2
8 2.0 2 C2
9 2.0 2 C3
10 2.0 3 C3
11 2.0 3 C3
13 2.1 1 C3
14 2.1 1 C3
15 2.1 2 C3
16 2.1 2 C3
17 2.1 3 C3
18 2.1 3 C3

我知道A或C,总是在M从1开始时发生变化。问题是每次M值从1开始我如何获取位置?

最佳答案

我不知道您的整个数据集的构建方式是否与您向我们展示的相同,但据我所知,您正在搜索 m 列中出现 3 到 1 的情况,这会导致差异的 -2 :

df[df['M'].diff()==-2].index
Out[101]: Int64Index([6, 13], dtype='int64')

假设您的 M 列总是增加,但它可以高于 3,您可以只查找第一次出现的负数,例如:

df[df['M'].diff()<0].index
Out[103]: Int64Index([6, 13], dtype='int64')

假设没有你可以简单地做的模式:

df[(df['M'].diff()!=0) & (df['M']==1)].index
Out[104]: Int64Index([0, 6, 13], dtype='int64')

这是添加索引 0,因为 .diff() 将为数据帧的第一个索引返回 NaN,即 !=0df['M '] ==0

关于python - Pandas+Python - 如何知道值何时发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40207023/

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