对 labor 数据集的所有属性列(不包括类别标签列)进行缺失 值填充,对数值型属性采用平均值进行填充;对非数值型属性采用众数进 行填充。
时间: 2024-01-22 14:18:38 浏览: 79
最新佩恩表(1950-2019年)数据集.zip
5星 · 资源好评率100%
好的,对于这个任务,我们可以按照以下步骤进行:
1. 导入需要的库,读取数据集。
```
import pandas as pd
import numpy as np
from sklearn.impute import SimpleImputer
data = pd.read_csv('labor.csv')
```
2. 确定需要填充的属性列及其类型。
```
numeric_cols = ['wage', 'age']
categorical_cols = ['education', 'race', 'hispanic', 'sex', 'union', 'region', 'jobclass', 'health', 'health_ins']
```
3. 对数值型属性采用平均值进行填充。
```
numeric_imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
data[numeric_cols] = numeric_imputer.fit_transform(data[numeric_cols])
```
4. 对非数值型属性采用众数进行填充。
```
categorical_imputer = SimpleImputer(missing_values=np.nan, strategy='most_frequent')
data[categorical_cols] = categorical_imputer.fit_transform(data[categorical_cols])
```
5. 检查数据集是否还存在缺失值。
```
data.isnull().sum()
```
完整代码如下:
```
import pandas as pd
import numpy as np
from sklearn.impute import SimpleImputer
data = pd.read_csv('labor.csv')
numeric_cols = ['wage', 'age']
categorical_cols = ['education', 'race', 'hispanic', 'sex', 'union', 'region', 'jobclass', 'health', 'health_ins']
numeric_imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
data[numeric_cols] = numeric_imputer.fit_transform(data[numeric_cols])
categorical_imputer = SimpleImputer(missing_values=np.nan, strategy='most_frequent')
data[categorical_cols] = categorical_imputer.fit_transform(data[categorical_cols])
data.isnull().sum()
```
阅读全文