以小时和分钟计算两列之间的 pandas DataFrame时间差 [英] Calculate Pandas DataFrame Time Difference Between Two Columns in Hours and Minutes
本文介绍了以小时和分钟计算两列之间的 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屋!
查看全文