Python获取时差

标签 python database pandas datetime dataframe

我正在 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)

飓风_df

我不断收到属性错误 AttributeError:“SeriesGroupBy”对象没有属性“_aggregate_item_by_item”

无论如何?

最佳答案

您可以通过以下方式在日期时间中设置相同的日期:

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]

关于Python获取时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53696874/

相关文章:

mysql - 如何计算 MySQL 中的每日可用时间?

python - 将所有 nlp 实体提取到另一列

Python 运算符覆盖 : __ge__ result is not as expected

python - 如何在 Python 中正确声明实例字段

python - 获取元组列表中元素元组的最大值

mysql - 通过互联网同步数据库的最佳方式是什么? MySQL

python - 使用 dictreader 在 python 中连接两个 CSV 文件

Python,在带有 pandas DataFrame 的 "order by"中使用 "group concat"

python - 是否按行替换并将覆盖字典中的值两次?

python - 如何在 python 中的列表中搜索可能不存在的内容?