首页 >后端开发 >Python教程 >如何将 Pandas 时差转换为小时和分钟?

如何将 Pandas 时差转换为小时和分钟?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-29 19:49:12239浏览

How to Convert Pandas Time Differences into Hours and Minutes?

将时差转换为 Pandas 中的小时和分钟

计算两个日期之间的时差是数据分析中的常见任务。但是,在使用 Pandas 时,df['diff'] = df['fromdate'] - df['todate'] 中的默认时差计算可能会导致天数,即使时差小于 24 小时也是如此。如果您需要以小时和分钟为单位的结果,这可能会很不方便。

要将时差转换为小时和分钟,我们可以在返回的 DatetimeIndex 对象上使用 astype() 方法减法运算。此方法允许我们将时差转换为特定的时间单位。

具体操作方法如下:

import pandas as pd

data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'), pd.Timestamp('2014-01-27 11:57:18.240000'), pd.Timestamp('2014-01-23 10:07:47.660000')],
        'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'), pd.Timestamp('2014-01-27 15:38:22.540000'), pd.Timestamp('2014-01-23 18:50:41.420000')]}

df = pd.DataFrame(data)
df['diff'] = df['fromdate'] - df['todate']

# Convert time difference to hours
df['hours'] = df['diff'].astype('timedelta64[h]')

# Convert time difference to minutes
df['minutes'] = (df['diff'] - df['hours']).astype('timedelta64[m]')

这会将时差转换为小时和分钟,从而产生数据框看起来像这样:

                   todate                 fromdate                    diff    hours  minutes
0 2014-01-24 13:03:12.050  2014-01-26 23:41:21.870  2 days 10:38:09.820  58       38
1 2014-01-27 11:57:18.240  2014-01-27 15:38:22.540  0 days 03:41:04.300   3       41
2 2014-01-23 10:07:47.660  2014-01-23 18:50:41.420  0 days 08:42:53.760   8       42

以上是如何将 Pandas 时差转换为小时和分钟?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn