我见过几个问题,比如
Calculate Pandas DataFrame Time Difference Between Two Columns in Hours and Minutes,将日期列的差异除以np.timedelta64(1,"D")
的策略。
然而,当我尝试这样的事情时,我得到一个错误:
TypeError:ufunc true_divide不能使用类型为dtype('O')和dtype('的操作数
基本上,我正在尝试的是:
df['time_since_last_change'] = (df['date'] - df['date_of_last_change']) / np.timedelta64(1, 'D')
两列日期/日期时间;我想知道是否或为什么他们被视为对象的列,或者为什么这被认为无效与日期时间一起使用?
如果有人可以提供帮助,我们将非常感激;在其他答案中已经提到了除以np.timedelta64的用法,但我不知道为什么它在这里不起作用。
答案 0 :(得分:1)
使用.astype而不是除以np.timedelta64
df['time_since_last_change'] = (df['date'] - df['date_of_last_change']).astype('timedelta64[D]')