将时差转换为 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中文网其他相关文章!