У меня есть два столбца панд, оба преобразованы в формат даты и времени, и я не могу вычесть одно из другого.
df['date_listed'] = pd.to_datetime(df['date_listed'], errors='coerce').dt.floor('d')
df['date_unconditional'] = pd.to_datetime(df['date_unconditional'], errors='coerce').dt.floor('d')
print df['date_listed'][:5]
print df['date_unconditional'][:5]
0 2013-01-01
1 2013-01-01
2 2015-04-08
3 2016-03-24
4 2016-04-27
Name: date_listed, dtype: datetime64[ns]
0 2018-10-15
1 2018-06-12
2 2018-08-28
3 2018-08-29
4 2018-10-29
Name: date_unconditional, dtype: datetime64[ns]
Форматы кажутся правильными, чтобы можно было вычитать, но тогда я получаю эту ошибку:
df['date_listed_to_sale'] = (df['date_sold'] - df['date_listed']).dt.days
print df['date_listed_to_sale'][:5]
TypeErrorTraceback (most recent call last)
<ipython-input-139-85a5efbde0f1> in <module>()
----> 1 df['date_listed_to_sale'] = (df['date_sold'] - df['date_listed']).dt.days
2 print df['date_listed_to_sale'][:5]
/Users/virt_env/virt1/lib/python2.7/site-packages/pandas/core/ops.pyc in wrapper(left, right)
1581 rvalues = rvalues.values
1582
-> 1583 result = safe_na_op(lvalues, rvalues)
1584 return construct_result(left, result,
1585 index=left.index, name=res_name, dtype=None)
/Users/virt_env/virt1/lib/python2.7/site-packages/pandas/core/ops.pyc in safe_na_op(lvalues, rvalues)
1531 if is_object_dtype(lvalues):
1532 return libalgos.arrmap_object(lvalues,
-> 1533 lambda x: op(x, rvalues))
1534 raise
1535
pandas/_libs/algos.pyx in pandas._libs.algos.arrmap()
/Users/virt_env/virt1/lib/python2.7/site-packages/pandas/core/ops.pyc in <lambda>(x)
1531 if is_object_dtype(lvalues):
1532 return libalgos.arrmap_object(lvalues,
-> 1533 lambda x: op(x, rvalues))
1534 raise
1535
TypeError: ufunc subtract cannot use operands with types dtype('S1') and dtype('<M8[ns]')
Я добавил ошибки = 'принудительно', думая, что это может решить проблему, но это не так. Я был бы признателен за помощь с этим.