我是python新手。我在处理一些数据时遇到了一些丢失的数据。我想做的是用mean填充其中一些,用mode填充其中一些,同时删除一些列
这就是我要做的
missing_val_count = (train.isnull().sum())
print(missing_val_count[missing_val_count > 0])
Output:
LotFrontage 259
Alley 1369
MasVnrType 8
MasVnrArea 8
BsmtQual 37
BsmtCond 37
BsmtExposure 38
BsmtFinType1 37
BsmtFinType2 38
Electrical 1
FireplaceQu 690
GarageType 81
GarageYrBlt 81
GarageFinish 81
GarageQual 81
GarageCond 81
dtype: int64
我有这么多列缺少数据
train['MasVnrType'].fillna(train['MasVnrType'].replace('NA', None), inplace = True)
train['MasVnrArea'].fillna(train['MasVnrArea'].replace('NA', '0'), inplace = True)
features = ['LotFrontage', 'GarageYrBlt']
for i in features:
train[i].fillna(train[i].mean(), inplace = True)
features1 = ['Electrical', 'BsmtQual', 'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinType2', 'FireplaceQu', 'GarageType', 'GarageFinish', 'GarageQual', 'GarageCond']
for i in features1:
train[i].fillna(train[i].mode()[0], inplace = True)
train = train.drop(columns = ['Alley'])
missing_val_count = (train.isnull().sum())
print(missing_val_count[missing_val_count > 0])
当我运行此代码时,我得到
MasVnrType 8
MasVnrArea 8
dtype: int64
我无法使用这两列。我做错了什么或者我错过了什么
改用这个:
或
例如:
输出
另一个:
输出
相关问题 更多 >
编程相关推荐