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

原始数据


Touch Time        Install Time

3/28/2019 14:06  3/28/2019 15:34

3/27/2019 19:23  3/28/2019 15:22

3/28/2019 15:01  3/28/2019 15:18

3/28/2019 12:41  3/28/2019 15:18

3/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          diff

0   3/28/2019 14:06  3/28/2019 15:34    0 days 01:28:00

1   3/27/2019 19:23  3/28/2019 15:22    0 days 19:59:00

2   3/28/2019 15:01  3/28/2019 15:18    0 days 00:17:00

3   3/28/2019 12:41  3/28/2019 15:18    0 days 02:37:00

4   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


收到一只叮咚
浏览 291回答 2
2回答

慕桂英546537

使用total_seconds然后除以 3600 转换为小时。df['diff_hours'] = df['diff'].dt.total_seconds() / 3600

慕斯709654

另一种方法是:df['diff_hours']=df['diff']/np.timedelta64(1,'h')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python