pandas TypeError Invalid comparison between dtype=datetime64ns UTC and Timestamp 错误
这个错误通常是由于尝试对不兼容的数据类型进行比较而引起的。在这种情况下,您尝试将一个dtype为datetime64[ns,UTC]的对象与一个Timestamp对象进行比较。
要解决这个问题,您可以尝试将两个对象转换为相同的数据类型,然后再进行比较。以下是一些可能的解决方法:
- 将Timestamp对象转换为datetime64[ns,UTC]数据类型:
import pandas as pd
from pandas._libs.tslibs.timestamps import Timestamp
# 创建一个datetime64[ns,UTC]对象
datetime_obj = pd.to_datetime("2021-01-01", utc=True)
# 创建一个Timestamp对象
timestamp_obj = Timestamp("2021-01-01")
# 将Timestamp对象转换为datetime64[ns,UTC]数据类型
timestamp_obj = pd.to_datetime(timestamp_obj, utc=True)
# 现在可以进行比较
if datetime_obj == timestamp_obj:
print("相等")
else:
print("不相等")
- 将datetime64[ns,UTC]对象转换为Timestamp对象:
import pandas as pd
from pandas._libs.tslibs.timestamps import Timestamp
# 创建一个datetime64[ns,UTC]对象
datetime_obj = pd.to_datetime("2021-01-01", utc=True)
# 创建一个Timestamp对象
timestamp_obj = Timestamp("2021-01-01")
# 将datetime64[ns,UTC]对象转换为Timestamp对象
datetime_obj = datetime_obj.to_pydatetime()
# 现在可以进行比较
if datetime_obj == timestamp_obj:
print("相等")
else:
print("不相等")
请注意,这些解决方法中的代码可能需要根据您的具体情况进行调整。
原文地址: https://www.cveoy.top/t/topic/iAYI 著作权归作者所有。请勿转载和采集!