我彼此减去了两个日期时间,就像这样:
df['Time Difference'] = df['Time 1'] - df['Time 2']
产生一个timedelta对象。我需要此对象的总分钟数,但我无法终生解决。当前,“时差”列如下所示:
1 0 days 00:01:00.000000000
2 0 days 00:04:00.000000000
3 0 days 00:03:00.000000000
4 0 days 00:01:00.000000000
5 0 days 00:03:00.000000000
我已经尝试除以numpy timedelta(这似乎是最常见的建议),pandas timedelta以及其他一些东西。诸如df['Time Difference'].seconds
或.seconds()
或.total_seconds
之类的操作(我已经看到的所有建议)都给出错误。我真的不知所措。我需要在几分钟内完成此操作,以便在matplotlib中制作图形,在我弄清楚这一点之前,我一直很困惑,因此非常感谢任何建议。谢谢!
使用dt.total_seconds()
除以60得到分钟:
import pandas as pd
df = pd.DataFrame({'td': pd.to_timedelta(['0 days 00:01:00.000000000',
'0 days 00:04:00.000000000',
'0 days 00:03:00.000000000',
'1 days 00:01:00.000000000',
'0 days 00:03:00.000000000'])})
df['delta_min'] = df['td'].dt.total_seconds() / 60
# df['delta_min']
# 0 1.0
# 1 4.0
# 2 3.0
# 3 1441.0
# 4 3.0