我正在计算两个日期之间的天数:
第一次约会:
date = datetime.datetime.today() # {datetime} 2018-09-17 14:42:06.506541
第二个日期,从数据框中提取:
date2 = data_audit.loc[(data_audit.Audit == audit), 'Erledigungsdatum'].values[0]
# {datetime64} 2018-07-23T00:00:00.000000000
错误:
ufunc减法不能使用类型为dtype('O')和dtype('M8 [ns]')的操作数
我的下一个尝试是:
date = np.datetime64(datetime.datetime.now()) # {datetime64} 2018-09-17T14:48:16.599541
导致以下错误(我将日期作为函数中的参数传递):
输入类型和输入不支持ufunc'bitwise_and' 不能安全地强制按照任何受支持的类型 强制使用“安全”规则
我应该如何解决这个问题?第二个对我来说似乎更合乎逻辑,但是我不明白为什么我不能将简单的日期传递给函数。
答案 0 :(得分:0)
我相信类似的方法应该对您有用:
import datetime
import numpy as np
# earlier being of type datetime64
earlier = np.datetime64(datetime.datetime.today())
# Converting datetime64 to datetime
earlier = earlier.astype(datetime.datetime)
now = datetime.datetime.today()
print(now-earlier)
答案 1 :(得分:0)
让我们尝试这种方法
import datetime
date = datetime.datetime.today()
date2 = '2018-07-23'#here could be your date converted to proper type
date2 = datetime.datetime.strptime(date2, '%Y-%m-%d')
difference = date- date2
difference = difference.days
您也可以将df.some_col_with_difference.astype('timedelta64[D]')
应用于数据框中的整个列