为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas - 新列是 2 个时间戳之间的差异。如何将其转换为小时?

Pandas - 新列是 2 个时间戳之间的差异。如何将其转换为小时?

收到一只叮咚 2021-12-21 10:44:16
原始数据Touch Time        Install Time3/28/2019 14:06  3/28/2019 15:343/27/2019 19:23  3/28/2019 15:223/28/2019 15:01  3/28/2019 15:183/28/2019 12:41  3/28/2019 15:183/27/2019 12:10  3/28/2019 15:08在此之后,我使用 read_csv 读取了 csv 并创建了一个新的列差异df['diff'] =  pd.to_datetime(df['Install Time']) - pd.to_datetime(df['Touch Time'])这会创建一个列差异:      Touch Time     Install Time          diff0   3/28/2019 14:06  3/28/2019 15:34    0 days 01:28:001   3/27/2019 19:23  3/28/2019 15:22    0 days 19:59:002   3/28/2019 15:01  3/28/2019 15:18    0 days 00:17:003   3/28/2019 12:41  3/28/2019 15:18    0 days 02:37:004   3/27/2019 12:10  3/28/2019 15:08    1 days 02:58:00对于我的分析,我想将 diff 列中的值转换为小时,然后使用 matplotlib 绘制它。我希望最终数据如下所示:0 days 01:28:00 should reflect as 1 1 days 02:58:00 should reflect as 26
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

使用total_seconds然后除以 3600 转换为小时。

df['diff_hours'] = df['diff'].dt.total_seconds() / 3600


查看完整回答
反对 回复 2021-12-21
?
慕斯709654

TA贡献1840条经验 获得超5个赞

另一种方法是:

df['diff_hours']=df['diff']/np.timedelta64(1,'h')


查看完整回答
反对 回复 2021-12-21
  • 2 回答
  • 0 关注
  • 290 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信