gpt4 book ai didi

python - 如何使用 Pandas 在时间序列中查找连续的相同数据

转载 作者:太空狗 更新时间:2023-10-29 17:42:47 25 4
gpt4 key购买 nike

下面是这样一个时间序列数据,称之为df:

      'No'       'Date'       'Value'
0 600000 1999-11-10 1
1 600000 1999-11-11 1
2 600000 1999-11-12 1
3 600000 1999-11-15 1
4 600000 1999-11-16 1
5 600000 1999-11-17 1
6 600000 1999-11-18 0
7 600000 1999-11-19 1
8 600000 1999-11-22 1
9 600000 1999-11-23 1
10 600000 1999-11-24 1
11 600000 1999-11-25 0
12 600001 1999-11-26 1
13 600001 1999-11-29 1
14 600001 1999-11-30 0

我想获取连续'Value'为1的日期范围,那么如何得到最终结果如下:

   'No'     'BeginDate'    'EndDate'   'Consecutive'
0 600000 1999-11-10 1999-11-17 6
1 600000 1999-11-19 1999-11-24 4
2 600001 1999-11-26 1999-11-29 2

最佳答案

应该这样做

df['value_grp'] = (df.Values.diff(1) != 0).astype('int').cumsum()

每当 Value 改变时,value_grp 将递增 1。下面,可以提取分组结果

pd.DataFrame({'BeginDate' : df.groupby('value_grp').Date.first(), 
'EndDate' : df.groupby('value_grp').Date.last(),
'Consecutive' : df.groupby('value_grp').size(),
'No' : df.groupby('value_grp').No.first()}).reset_index(drop=True)

关于python - 如何使用 Pandas 在时间序列中查找连续的相同数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26911851/

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