首页 > 解决方案 > 从未堆叠的数据中确定 1 的每日连续观察的长度和开始 - 熊猫

问题描述

我试图通过连续观察来确定咒语的长度1。数据为每日数据,按 和year分组id

请参阅下面的数据框,该数据框在列中conseq报告1是否满足某些条件的值。

现在,我只对构成本构观察的独特咒语的行感兴趣。该咒语应至少持续三天。

例如,在下面的框架中,conseq从 7 月 7 日到 7 月 13 日的值很长。从那个咒语中,我有兴趣检索长度(7)和起点(7 月 7 日)。

所需的输出将是 column:how_to_get_this_column显示的内容。

多年来,这些行大约有 100 万行,而且很多id

import pandas as pd
from pandas.compat import StringIO, BytesIO

data = ('year,id,date,conseq,how_to_get_this_column\n'
'1991,X000005010,1991-08-09,0,0\n'
'1991,X000005010,1991-08-11,0,1\n'
'1991,X000005010,1991-08-12,1,1\n'
'1991,X000005901,1991-07-07,0,7\n'
'1991,X000005901,1991-07-08,1,7\n'
'1991,X000005901,1991-07-09,1,7\n'
'1991,X000005901,1991-07-10,1,7\n'
'1991,X000005901,1991-07-11,1,7\n'
'1991,X000005901,1991-07-12,1,7\n'
'1991,X000005901,1991-07-13,1,7\n'
'1991,X000005901,1991-08-07,0,0\n')
df = pd.read_csv(StringIO(data))
df.set_index(['id'], inplace=True)

标签: pythonpython-3.xpandastime-series

解决方案


推荐阅读