如何用pandas DataFrame同列非空值替换该列NaN值?
替换HomePlanet列NaN值为该列众数
实现步骤与代码
- 先获取
HomePlanet列的出现最频繁值(众数):
pandas的mode()方法会返回列中出现次数最多的元素,取第一个结果就是目标值(本例为Earth)。 - 用
fillna()方法替换所有NaN值。
完整代码示例:
import pandas as pd # 加载数据(根据你的实际数据源调整) df = pd.read_csv('your_data.csv') # 获取HomePlanet列的众数 most_common = df['HomePlanet'].mode()[0] # 替换NaN值 df['HomePlanet'] = df['HomePlanet'].fillna(most_common)
额外说明
- 如果列存在多个出现次数相同的众数,
mode()[0]会选取第一个出现的众数,可根据需求调整索引。 - 若想直接修改原DataFrame,可添加
inplace=True参数:df['HomePlanet'].fillna(most_common, inplace=True)
内容的提问来源于stack exchange,提问作者Mrigank Dhingra
相关产品推荐
相关产品推荐

