我想计算两个日期之间的天数:
第一次约会:
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 subtract不能使用类型为dtype('O')和dtype('M8 [ns]')的操作数
我的下一个尝试是:
date = np.datetime64(datetime.datetime.now()) # {datetime64} 2018-09-17T14:48:16.599541
这导致了以下错误(我将日期作为函数中的参数传递):
输入类型不支持ufunc'bitwise_and',并且输入无法根据强制转换规则“安全”安全地强制转换为任何支持的类型
我该如何处理这个问题?第二个似乎对我更合乎逻辑,但我不明白为什么我不能将一个简单的约会传递给一个函数。
我相信这样的事情对你有用:
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)
让我们试试这种方法
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]')
应用于整列