You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PyTZ时出现Datetime无效比较错误,请求排查原因

时区不匹配导致的Datetime过滤错误问题

我在对DataFrame的datetime对象进行过滤时,反复遇到如下错误:
TypeError: Invalid comparison between dtype=datetime64[ns, pytz.FixedOffset(120)] and DatetimeArray
此前我也曾进行过同类过滤操作,但这是首次出现该问题。

转换datetime对象及后续操作代码

# 创建用于合并的日期列并设置日期格式
df_fpu["datetime"] = pd.to_datetime(df_fpu["datetime"])
df_fpu["date"] = df_fpu["datetime"].dt.date
df_fpu["date"] = pd.to_datetime(df_fpu["date"])

# 设置为正确时区
df_fpu.datetime.astype('datetime64[ns]')
df_fpu.date.astype('datetime64[ns]')

# 确保df_events的时间格式正确(已处于正确时区)
df_events["start_datetime"] = pd.to_datetime(df_events["start_datetime"])
df_events["end_datetime"] = pd.to_datetime(df_events["end_datetime"])
df_events["date"] = pd.to_datetime(df_events["date"])

# 合并df_events和df_fpu
df_merged = pd.merge(df_events, df_fpu, on=["stand", "date"], how="inner")

# 根据航班起止时间过滤数据框,移除错误记录
df_fpu = df_merged[(df_merged["datetime"] >= df_merged["start_datetime"]) & (df_merged["datetime"] <= df_merged["end_datetime"])]

样本数据(10行)

start_datetimeend_datetimestanddatedatetimenum_signals
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:33:00.000+00005
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:34:00.000+00008
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:35:00.000+000010
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:36:00.000+000017
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:37:00.000+000019
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:38:00.000+000030
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:39:00.000+000023
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:40:00.000+000023
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:41:00.000+000024
2022-04-28T20:53:14.000+00002022-04-28T22:27:02.000+0000G062022-04-28T00:00:00.000+00002022-04-28T05:42:00.000+000024

请问有人知道该错误出现的原因吗?


内容的提问来源于stack exchange,提问作者Hans.nl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:47:36