Python pandas .isnull()不适用于对象dtype中的NaT

rag*_*esz 8 python datetime isnull pandas

我有这个系列:

ser=pd.Series([11,22,33,np.nan,np.datetime64('nat')],name='my_series')
Run Code Online (Sandbox Code Playgroud)

该系列看起来像这样:

0     11
1     22
2     33
3    NaN
4    NaN
Name: my_series, dtype: object
Run Code Online (Sandbox Code Playgroud)

但我只得到一个TrueNULL值:

ser.isnull()

0    False
1    False
2    False
3     True
4    False
Name: my_series, dtype: bool
Run Code Online (Sandbox Code Playgroud)

这是一个错误或如何正确计算熊猫系列中的NULL值?这没有帮助:

ser=ser.replace('NaN',np.nan)
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 5

今天早上我遇到了类似的问题,但在 str 系列中!这对我以及您的示例数据都有效:

pd.isna(ser)


mir*_*tle 0

为了解决这个问题,你还可以这样做

series.apply(lambda x: str(x) == "nat")

那么如果你愿意的话你仍然可以使用 np.datetime

  • 这是行不通的。`series.apply(lambda x: str(x) == "NaT")` **确实**有效。请注意字符串比较中的大小写敏感性。 (2认同)