我正在Pandas的一个数据框中工作,我必须从标识符分组的datettime中获取时差。 这是数据框
Identifier datetime
0 AL011851 00:00:00
1 AL011851 06:00:00
2 Al011851 12:00:00
运行此代码时
hurricane_df = hurricane_df.groupby('identifier')['datetime'].diff().fillna(0)
hurricane_df
我不断收到属性错误 AttributeError:“ SeriesGroupBy”对象没有属性“ _aggregate_item_by_item”
解决这个问题了吗?
答案 0 :(得分:0)
您可以通过以下方式在日期时间中设置相同的日期:
hurricane_df['datetime'] = pd.to_datetime(hurricane_df['datetime'].dt.strftime('%H:%M:%S'),
format='%H:%M:%S')
print (hurricane_df)
identifier datetime
0 AL011851 1900-01-01 00:00:00
1 AL011851 1900-01-01 06:00:00
2 Al011851 1900-01-01 12:00:00
或将列转换为时间增量:
hurricane_df['datetime'] = pd.to_timedelta(hurricane_df['datetime'].dt.strftime('%H:%M:%S'))
print (hurricane_df)
identifier datetime
0 AL011851 00:00:00
1 AL011851 06:00:00
2 Al011851 12:00:00
hurricane_df = hurricane_df.groupby('identifier')['datetime'].diff().fillna(0)
print (hurricane_df)
0 00:00:00
1 06:00:00
2 00:00:00
Name: datetime, dtype: timedelta64[ns]