如何将日期时间格式转换为分钟-熊猫
问题内容:
我有一个数据框,该数据框具有一列usage_duration(这是日期时间格式的另外两列的区别)。如下图所示:
processid, userid, usage_duration
17613,root,0 days 23:41:03.000000000
17641,root,2 days 04:05:26.000000000
13848,acs,0 days 00:00:50.000000000
3912,acs,0 days 06:07:38.000000000
6156,acs,0 days 17:22:43.000000000
现在,我想将其转换为分钟。它应该如下所示:
processid, userid, usage_duration_min
17613,root,1421
17641,root,3125
13848,acs,0
3912,acs,367
6156,acs,1042
有人可以让我知道这怎么可能吗?
非常感谢您的支持
问题答案:
使用total_seconds
或seconds
除以60
,最后转换为integer
s:
#if necessary converting to timedelta
#df['usage_duration'] = pd.to_timedelta(df['usage_duration'])
df['new'] = df['usage_duration'].dt.total_seconds().div(60).astype(int)
要么:
df['new'] = (df['usage_duration'].dt.seconds.div(60).astype(int)
+ df['usage_duration'].dt.days.multiply(1440).astype(int) )
print (df)
processid userid usage_duration new
0 17613 root 0 days 23:41:03 1421
1 17641 root 2 days 04:05:26 3125
2 13848 acs 0 days 00:00:50 0
3 3912 acs 0 days 06:07:38 367
4 6156 acs 0 days 17:22:43 1042