如何计算两个 pandas 柱之间的时差 [英] How to calculate time difference between two pandas column
本文介绍了如何计算两个 pandas 柱之间的时差的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的df看起来像
start stop
0 2015-11-04 10:12:00 2015-11-06 06:38:00
1 2015-11-04 10:23:00 2015-11-05 08:30:00
2 2015-11-04 14:01:00 2015-11-17 10:34:00
4 2015-11-19 01:43:00 2015-12-21 09:04:00
print(time_df.dtypes)
start datetime64[ns]
stop datetime64[ns]
dtype:对象
我正在尝试查找停止和开始之间的时差.
I am trying to find the time difference between, stop and start.
我尝试过, pd.Timedelta(df_time ['stop']-df_time ['start'])
但它给出了 TypeError:数据类型"datetime"无法理解
I tried, pd.Timedelta(df_time['stop']-df_time['start'])
but it gives TypeError: data type "datetime" not understood
df_time ['stop']-df_time ['start']
也给出相同的错误.
我的预期输出,
2D,?H
1D,?H
...
...
推荐答案
您需要省略 pd.Timedelta
,因为时间差会返回timedeltas:
You need omit pd.Timedelta
, because difference of times return timedeltas:
df_time['td'] = df_time['stop']-df_time['start']
print (df_time)
start stop td
0 2015-11-04 10:12:00 2015-11-06 06:38:00 1 days 20:26:00
1 2015-11-04 10:23:00 2015-11-05 08:30:00 0 days 22:07:00
2 2015-11-04 14:01:00 2015-11-17 10:34:00 12 days 20:33:00
另一个解决方案是减去numpy数组:
Another solution is subtract numpy arrays:
df_time['td'] = df_time['stop'].values - df_time['start'].values
print (df_time)
start stop td
0 2015-11-04 10:12:00 2015-11-06 06:38:00 1 days 20:26:00
1 2015-11-04 10:23:00 2015-11-05 08:30:00 0 days 22:07:00
2 2015-11-04 14:01:00 2015-11-17 10:34:00 12 days 20:33:00
这篇关于如何计算两个 pandas 柱之间的时差的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文