熊猫数据框.dropna()没有删除NaN值

时间:2018-12-27 21:34:56

标签: python python-3.x pandas

我有一组功能:

  

“ SalePrice”,“ OverallQual”,“ GrLivArea”,“ GarageCars”,“ TotalBsmtSF”,   'GarageArea','1stFlrSF','FullBath','YearBuilt','TotRmsAbvGrd',   'YearRemodAdd','GarageYrBlt','Fireplaces','MasVnrArea','LotArea',   'LotFrontage','BsmtFinSF1','OpenPorchSF','WoodDeckSF','2ndFlrSF',   'HalfBath','BsmtUnfSF','BsmtFullBath'

其中3个要素包含一些NaN值。我想删除具有NaN值的行。为此,我运行

for item in features:
    train_data[item].dropna(inplace=True)
    print(train_data[item].isnull().values.any())

这给出了输出:

False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False

这使我相信所有NaN值均已成功降低。但是,当我随后运行

print(train_data[features].isnull().values.any())

输出:

True

我的理解是,通过设置inplace=True可以在当前实例中操纵该数据框。但是,在运行循环以丢弃空值后检查train_data[features]时,它没有变化。我在这里做错什么了吗?

1 个答案:

答案 0 :(得分:3)

IIUC

df=df.dropna(subset=features)