以小时和分钟计算两列之间的 pandas DataFrame时间差 [英] Calculate Pandas DataFrame Time Difference Between Two Columns in Hours and Minutes

查看:1135
本文介绍了以小时和分钟计算两列之间的 pandas DataFrame时间差的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试添加新列差异以找到使用

I have two columns from and to date in a dataframe

b
$ b

when I try add new column diff with to find the difference between two date using

df['diff'] = df['todate'] - df['fromdate']

如果超过24小时,我可以在几天内得到差异列。

I get the diff column in days if more than 24 hours.

2014-01-24 13:03:12.050000,2014-01-26 23:41:21.870000,"2 days, 10:38:09.820000"
2014-01-27 11:57:18.240000,2014-01-27 15:38:22.540000,03:41:04.300000
2014-01-23 10:07:47.660000,2014-01-23 18:50:41.420000,08:42:53.760000

如何仅在几分钟内转换我的结果,忽略几天甚至几秒钟。

How do I convert my results only in hours and minutes ignoring days and even seconds.

推荐答案

熊猫时间戳差异返回一个datetime.timedelta对象。这可以通过使用* as_type *方法很容易地转换成小时,像这样

Pandas timestamp differences returns a datetime.timedelta object. This can easily be converted into hours by using the *as_type* method, like so

import pandas
df = pandas.DataFrame(columns=['to','fr','ans'])
df.to = [pandas.Timestamp('2014-01-24 13:03:12.050000'), pandas.Timestamp('2014-01-27 11:57:18.240000'), pandas.Timestamp('2014-01-23 10:07:47.660000')]
df.fr = [pandas.Timestamp('2014-01-26 23:41:21.870000'), pandas.Timestamp('2014-01-27 15:38:22.540000'), pandas.Timestamp('2014-01-23 18:50:41.420000')]
(df.fr-df.to).astype('timedelta64[h]')

0    58
1     3
2     8
dtype: float64

这篇关于以小时和分钟计算两列之间的 pandas DataFrame时间差的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆