我想确定 dataframe 中的日期是连续的,即存在直接的前任还是后继.然后,我想在新列中标记哪些日期是连续的,哪些不是连续的.另外,我想在数据的特定子集中执行此操作.
首先,我创建一个新变量,以在连续几天中确定True为False.
weatherFile['CONSECUTIVE_DAY'] = 'NA'
我已经将日期转换为日期时间对象,然后转换为顺序对象:
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'])
我正在考虑遍历各组,并应用一种操作来确定哪些天是连续的,哪些天不是唯一的县中的临时集子集.
我对编程和python还是很陌生,到目前为止,这是一个好方法吗,如果可以的话,我该如何进步?
谢谢-让我知道是否需要提供其他信息.
更新:
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)
这导致TypeError:无法散列的类型.追溯发生在第二行. weatherFile [‘DATE_INT’]是dtype:int64.