Python Pandas专栏分钟

问题描述 投票:0回答:1

我彼此减去了两个日期时间,就像这样:

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中制作图形,在我弄清楚这一点之前,我一直很困惑,因此非常感谢任何建议。谢谢!

python pandas data-science timedelta
1个回答
0
投票

使用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
© www.soinside.com 2019 - 2024. All rights reserved.