1

下面的代码并没有删除所有(它确实删除了一些)存在空值的列,怎么会?它是否区分 None、np.nan 等?

columns_to_drop = [x for x in X.columns if X[x].isnull().sum()>0]
print(columns_to_drop)

dropped_X = X.drop(columns_to_drop,axis = 1).copy()

更简单的也没有:

X.dropna(axis=1, how='any')

估算值不是一种选择。

最后,在删除了所有存在缺失值的列之后,我不得不删除存在缺失值的行(显然我没有这样做)

columns_to_drop = [col for col in X2.columns if X[col].isnull().any()]
print(columns_to_drop)

dropped_X = X.drop(columns_to_drop,axis = 1).copy()
dropped_X2 = X2.drop(columns_to_drop,axis=1).copy()

dropped_X2.dropna(axis = 0, how = 'any',inplace = True)

跑完最后一行后,我就可以继续了。不过,为什么我必须这样做?

4

0 回答 0