给定一个包含学生身高的Series对象heights,其中部分数据缺失(用NaN表示)。请: 1、找出并显示所有身高数据不为NaN的学生姓名和身高。 2、计算所有有效(非NaN)身高的平均值,并假设所有缺失的身高为平均值,填充NaN值。
时间: 2024-09-23 13:03:01 浏览: 33
Heights and Weights Dataset 身高和体重数据集-数据集
首先,我们需要检查并筛选出所有非NaN的数据:
1. 筛选出非NaN身高以及对应的学生姓名:
```python
non_nan_heights = heights.dropna() # 删除含有NaN的行
students_heights = non_nan_heights.index.tolist() # 获取学生姓名
heights_values = non_nan_heights.values.tolist() # 获取身高值
print("学生姓名与身高:")
for i in range(len(students_heights)):
print(f"学生{students_heights[i]}:{heights_values[i]}")
```
2. 计算有效身高的平均值,并填充缺失值:
```python
avg_height = heights.dropna().mean() # 计算非NaN身高的平均值
filled_heights = heights.fillna(avg_height) # 填充缺失值
print("填充后的身高 Series:")
print(filled_heights)
```
现在,`filled_heights` Series 就包含了所有学生的身高,缺失值已经被平均身高所替换。
阅读全文