用除空值以外的众数填充某几列的缺失值
时间: 2023-09-28 22:13:19 浏览: 100
均值、0、和随机森林来填补缺失值
好的,您可以使用以下代码来实现针对某几列使用除空值以外的众数填充缺失值的操作:
```python
import pandas as pd
# 创建一个包含空值的 DataFrame
df = pd.DataFrame({'A': [1, 2, None, 4, 5],
'B': [None, 6, 7, 8, 9],
'C': [1, 2, None, None, 5]})
# 指定需要填充缺失值的列
columns_to_fill = ['B', 'C']
# 对指定列使用众数填充空值
for column in columns_to_fill:
# 计算除空值以外的众数
mode_without_na = df[column].dropna().mode()[0]
# 使用除空值以外的众数填充空值
df[column].fillna(mode_without_na, inplace=True)
print(df)
```
这段代码中,我们首先创建了一个包含空值的 DataFrame。然后,我们指定了需要填充缺失值的列,即 `B` 和 `C` 列。接着,我们对每一列分别进行填充。首先,我们使用 `dropna()` 函数去除空值,并使用 `mode()` 函数计算除空值以外的众数。然后,我们使用该众数对空值进行填充。最后,我们使用 `inplace=True` 参数来直接修改原始 DataFrame,而不是创建一个新的 DataFrame。
希望这个回答能够解决您的问题!
阅读全文