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

时间:2015-09-30 10:23:09

标签: python datetime pandas isnull

我有这个系列:

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

该系列看起来像这样:

0     11
1     22
2     33
3    NaN
4    NaN
Name: my_series, dtype: object

但我只获得一个True的NULL值:

ser.isnull()

0    False
1    False
2    False
3     True
4    False
Name: my_series, dtype: bool

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

ser=ser.replace('NaN',np.nan)

谢谢!

3 个答案:

答案 0 :(得分:0)

要解决这个问题,你也可以这样做

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

如果你想

,你仍然可以使用np.datetime

答案 1 :(得分:0)

令人惊讶的是,执行您给定的代码后,我得到以下输出: enter image description here

另一种方法是:计算那些您可以计算的值。

计算序列对象的长度,减法将为您提供空值的计数。如下:**

enter image description here

len(ser)-(ser[ser.isnull()==False]).count()

答案 2 :(得分:0)

今天早晨,我遇到了一个类似的问题,但是在str系列中!这适用于我,也适用于您的示例数据:

pd.isna(ser)