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

Python中Pandas DataFrame相同时间戳对比返回False问题求解

问题解答

代码错误点

你错误使用了Python身份运算符is做时间戳等值判断,替换为等值运算符==即可解决问题。

根本原因

  • is的作用是判断两个变量是否指向内存中的同一个对象,对比的是对象内存地址,而不是值。你从两个不同DataFrame中提取的时间戳属于独立生成的两个pandas.Timestamp实例,即便值完全相同,内存地址也不一样,因此is判断返回False。
  • ==的作用是判断两个对象的实际值是否相等,符合你做时间等值判断的需求。

修正代码

if covid_traffic_data.at[22, '시점'] == covid_confirmed_data.at[1, 'date']:
    print(True)
else:
    print(False)

额外注意事项

如果替换为==后仍然返回False,可检查两个时间戳的时区属性是否一致:分别打印两个对象的.tz属性,若一个带时区一个不带,或时区规则不同,也会导致等值判断失败,需要先将二者转为相同时区再做判断,示例如下:

# 统一转为无时区时间再对比
t1 = covid_traffic_data.at[22, '시점'].tz_localize(None)
t2 = covid_confirmed_data.at[1, 'date'].tz_localize(None)
print(t1 == t2)

内容的提问来源于stack exchange,提问作者NcGYBer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:36:07