- 0
- 0
- 约4.47千字
- 约 6页
- 2026-01-22 发布于天津
- 举报
2025年AI数据缺失值处理实操考核卷及答案
考试时间:______分钟总分:______分姓名:______
一、
请编写Python代码,使用Pandas库加载数据集`data.csv`。该数据集包含数值型特征`Age`,`Income`和类别型特征`City`,其中`Age`和`Income`特征存在缺失值。加载数据后,请显示数据集的前5行,并统计每个特征的缺失值数量。
二、
在上一个问题加载数据的基础上,请使用Pandas的内置可视化功能(如`plot.hist`或`plot.box`),为`Age`特征绘制一个直方图,并为其添加标题“Age特征分布”和适当的坐标轴标签。同时,为`Income`特征绘制一个箱线图,并添加标题“Income特征箱线图”和适当的坐标轴标签。
三、
对于`Age`特征,请分别使用均值、中位数和众数(使用Pandas的`mode`函数)进行缺失值填充。对于类别型特征`City`,请使用该特征出现次数最多的类别进行填充。将填充后的数据分别存储在新的PandasDataFrame对象中,命名为`age_filled_mean`、`age_filled_median`和`age_filled_mode`,以及`city_filled_mode`。
四、
请计算`age_filled_mean`、`age_filled_median`和`age_filled_mode`三个DataFrame对象中`Age`特征填充后的均值。然后,计算原始数据中`Age`特征的均值(即填充前的均值)。将这三个均值与原始均值进行比较,简要说明均值在不同填充策略下的变化情况。
五、
在`data.csv`数据集中,假设`Income`特征的缺失值不是完全随机丢失的,而是与`Age`特征存在某种关联(例如,年轻群体的收入数据缺失比例更高)。请简述在这种情况下,使用均值或中位数填充`Income`特征可能带来的问题。并说明一种更合适的处理方法,以及为什么这种方法更合适。
六、
请使用Pandas的`fillna`方法,结合一个自定义函数,对`data.csv`数据集中的所有缺失值进行填充。自定义函数应能根据特征类型(数值型或类别型)分别采用不同的填充策略:对于数值型特征,使用其均值填充;对于类别型特征,使用其众数填充。将填充后的数据存储在新的PandasDataFrame对象`filled_custom`中。
七、
假设我们需要使用`data.csv`数据集训练一个机器学习模型来预测`Income`特征。请说明在进行模型训练之前,为什么处理缺失值是必要步骤。并列举至少三种不同的缺失值处理方法,简要说明每种方法的原理和适用场景。
试卷答案
一、
```python
importpandasaspd
data=pd.read_csv(data.csv)
print(data.head())
print(data.isnull().sum())
```
解析思路:使用Pandas的`read_csv`函数加载数据。`head()`函数用于显示前5行数据。`isnull().sum()`函数用于统计每个特征(列)的缺失值数量。
二、
```python
importpandasaspd
importmatplotlib.pyplotasplt
data=pd.read_csv(data.csv)
#绘制Age直方图
data[Age].plot.hist(title=Age特征分布,xlabel=Age,ylabel=频数)
plt.show()
#绘制Income箱线图
data[Income].plot.box(title=Income特征箱线图,xlabel=Income)
plt.show()
```
解析思路:首先,确保导入了必要的Pandas和Matplotlib库。使用`plot.hist`方法为数值型特征`Age`绘制直方图,并通过`title`,`xlabel`,`ylabel`设置图表元素。使用`plot.box`方法为`Income`绘制箱线图。`plt.show()`用于显示图表。
三、
```python
importpandasaspd
data=pd.read_csv(data.csv)
#使用均值填充Age
age_filled_mean=data.copy()
age_filled_mean[Age].fillna(age_filled_mean[Age].mean(),inplace=True)
#
原创力文档

文档评论(0)