我是Python的新手,只是想弄清楚这小段代码是如何工作的。希望没有示例数据框就可以很容易地解释它。
我的数据帧称为df_train
,其中包含一列名为Age
。此列是NaN
,代表177条记录。
我提交以下代码...
df_train[df_train['Age'].isnull()]
...,它返回所有丢失的记录。
现在,如果我提交df_train['Age'].isnull()
,我得到的只是一个布尔值列表。数据框对象如何将这个布尔列表转换为我们实际想要的行?
我不明白将布尔列表再次传递到数据帧如何仅导致我们需要的177条记录-有人可以请ELI5换一个新手吗?
答案 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
等等
希望这对您有所帮助。