【问题标题】:comparing two exactly same timestamp data, but showing false比较两个完全相同的时间戳数据,但显示错误
【发布时间】:2022-01-09 03:25:54
【问题描述】:

Screenshot

我从两个不同的数据帧中获取了一些时间戳数据,并尝试比较它们。 但是,即使时间戳数据完全相同,python 也会返回 false。 (请参考截图)

我做错了什么?

来源:

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

print(covid_traffic_data.at[22, '시점'])
print(covid_confirmed_data.at[1, 'date'])

结果:

False
2020-01-23 00:00:00
2020-01-23 00:00:00

【问题讨论】:

  • 您应该使用== 来测试是否相等。 is 测试对象身份。

标签: python dataframe timestamp


【解决方案1】:

is 比较对象引用。只有当两个变量都指向内存中的同一位置时,它才会返回 True。另一方面, == 使用 __eq__ 对象的任何实现或默认为 is 如果 __eq__ 没有为该类实现。

【讨论】:

  • 看在上帝的份上.. 我太兴奋了,无法学习 python,无法停止使用 'is'.. 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 2015-01-02
  • 2012-11-20
  • 1970-01-01
相关资源
最近更新 更多