notull()方法如何工作以返回数据框中缺少的所有行?

时间:2019-01-02 18:56:47

标签: python pandas isnull

我是Python的新手,只是想弄清楚这小段代码是如何工作的。希望没有示例数据框就可以很容易地解释它。

我的数据帧称为df_train,其中包含一列名为Age。此列是NaN,代表177条记录。

我提交以下代码...

df_train[df_train['Age'].isnull()]

...,它返回所有丢失的记录。

现在,如果我提交df_train['Age'].isnull(),我得到的只是一个布尔值列表。数据框对象如何将这个布尔列表转换为我们实际想要的行?

我不明白将布尔列表再次传递到数据帧如何仅导致我们需要的177条记录-有人可以请ELI5换一个新手吗?

1 个答案:

答案 0 :(得分:0)

您将必须创建要使用的dataframe的子集。假设您只想使用df_train['Age']不是null的那些行。在这种情况下,您必须选择

df_train_to_use = df_train[df_train['Age'].isnull() == False]

现在,您可以交叉检查您可能要使用的其他任何列,并且使nulls

 df_train['Column_name'].isnull().any()

如果返回True,则可以继续使用默认值,平均值,零或您喜欢的任何方法替换空值,通常将它们放入机器学习程序的应用程序中。

示例

df_train['Column_name'].dropna()

df_train['Column_name'].fillna('') #for strings

df_train['Column_name'].fillna(0) #for int

df_train['Column_name'].fillna(0.0) #for float 

等等

希望这对您有所帮助。