我想识别数据框中连续的日期,即存在直接的前任或继任者。然后,我想标记哪些日期在新列中是否连续。此外,我想在我的数据的特定子集内执行此操作。如何识别连续日期
首先我创建一个新的变量,在这里我可以识别连续天数为假的错误。
weatherFile['CONSECUTIVE_DAY'] = 'NA'
我已经转换日期,datetime对象然后顺序的:
weatherFile['DATE_OBJ'] = [datetime.strptime(d, '%Y%m%d') for d in weatherFile['DATE']]
weatherFile['DATE_INT'] = list([d.toordinal() for d in weatherFile['DATE_OBJ']])
现在我想找出在以下几组连续日期:
weatherFile.groupby(['COUNTY_GEOID_YEAR', 'TEMPBIN'])
我想循环访问这些组并应用一个操作,该操作将识别哪些天是连续的,哪些不是在独特的县内的tempbin子集。
我对编程和python相当陌生,到目前为止这是一个很好的方法,如果是这样,我该如何进步?
谢谢 - 让我知道我是否应该提供更多信息。
更新:
使用@karakfa建议我尝试了以下内容:
weatherFile.groupby(['COUNTY_GEOID_YEAR', 'TEMPBIN'])
weatherFile['DISTANCE'] = weatherFile[1:, 'DATE_INT'] - weatherFile[:-1,'DATE_INT']
weatherFile['CONSECUTIVE?'] = np.logical_or(np.insert((weatherFile['DISTANCE']),0,0) == 1, np.append((weatherFile['DISTANCE']),0) == 1)
这导致类型错误:unhashable类型。追溯发生在第二行。 weatherFile ['DATE_INT']是dtype:int64。
哇 - 非常感谢。我一整天都在努力弄清楚这一点,而且效果很好!非常感谢。 – Justin