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

2024-05-15 13:28:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个系列:

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

ser.isnull()

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

这是一个错误还是我如何正确计算熊猫系列中的空值?这无助于:

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

谢谢!


Tags: namefalsetruemynpnannatser
3条回答

今天早上我遇到了一个类似的问题,但是在str系列中!这对我和你的样本数据都有效:

pd.isna(ser)

为了解决这个问题,你也可以

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

如果你想的话,你还可以使用np.datetime

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

另一种方法是:计算那些你能计算的值。

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

enter image description here

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

相关问题 更多 >