如何测试变量是否为pd.NaT?测试失效问题求助
哈哈,这个坑我踩过!直接用==判断pd.NaT肯定行不通,因为和NaN一样,pd.NaT的特性就是不等于自身,所以你的条件永远不会成立,自然没输出啦。
下面给你几种靠谱的判断方法:
有效检测pd.NaT的方法
1. 用pandas专属的pd.isnat()函数
这是专门针对时间类型缺失值(NaT)设计的检测函数,精准性拉满:
import pandas as pd a = pd.NaT if pd.isnat(a): print("a is NaT")
2. 用通用缺失值检测函数pd.isna()
这个函数能覆盖所有类型的缺失值(包括NaN、NaT、None),如果你不确定变量类型,用这个更稳妥:
import pandas as pd a = pd.NaT if pd.isna(a): print("a is a missing value (it's NaT here)")
3. 利用NaT不等于自身的特性(不推荐)
虽然可以这么写,但这种方法没法区分NaT和NaN,只适合临时测试:
import pandas as pd a = pd.NaT if a != a: print("a is either NaT or NaN")
内容的提问来源于stack exchange,提问作者Clément F
相关产品推荐
相关产品推荐

