pandas.to_datetime() 返回不同的 dtypes

pandas.to_datetime() returning different dtypes

提问人:Confounded 提问时间:11/3/2023 更新时间:11/3/2023 访问量:39

问:

为什么下面的代码会引起以下错误?UFuncTypeError: ufunc 'subtract' cannot use operands with types dtype('<M8[ns]') and dtype('float64')

df1 = pd.DataFrame(['2022-01-01'], columns=['start'])
df1['start'] = pd.to_datetime(df1['start'])

df2 = pd.DataFrame(['2023-01-01'], columns=['end'])
df2['end'] = pd.to_datetime(df2['end'])

df2 - df1

即使我可以看到这两个参数都显示:datetime64[ns]

print(df1.loc[0])
start   2022-01-01
Name: 0, dtype: datetime64[ns]

print(df2.loc[0])
end   2023-01-01
Name: 0, dtype: datetime64[ns]
pandas DataFrame 日期时间

评论


答:

1赞 Kirill Kondratenko 11/3/2023 #1

从第二个数据帧中减去第一个数据帧。如果你想得到 数据帧中日期之间的差异,您需要:

df2['end'] - df1['start']

评论

0赞 Confounded 11/3/2023
当然,列名是不同的,D'oh!