python - 如何使用模式/均值来估算 pandas 数据框中的整个缺失值?

标签 python pandas mode imputation

我知道通过如下每一列分别填写的代码

data['Native Country'].fillna(data['Native Country'].mode(), inplace=True)

但我正在处理一个包含 50 行的数据集,并且有 20 个分类值需要估算。 是否有用于估算整个数据集的单行代码??

最佳答案

使用DataFrame.fillnaDataFrame.mode并选择第一行,因为如果返回相同的最大出现次数,则所有值:

data = pd.DataFrame({
        'A':list('abcdef'),
         'col1':[4,5,4,5,5,4],
         'col2':[np.nan,8,3,3,2,3],
         'col3':[3,3,5,5,np.nan,np.nan],
         'E':[5,3,6,9,2,4],
         'F':list('aaabbb')
})

cols = ['col1','col2','col3']

print (data[cols].mode())
   col1  col2  col3
0     4   3.0   3.0
1     5   NaN   5.0

data[cols] = data[cols].fillna(data[cols].mode().iloc[0])
    
print (data)
   A  col1  col2  col3  E  F
0  a     4   3.0   3.0  5  a
1  b     5   8.0   3.0  3  a
2  c     4   3.0   5.0  6  a
3  d     5   3.0   5.0  9  b
4  e     5   2.0   3.0  2  b
5  f     4   3.0   3.0  4  b

关于python - 如何使用模式/均值来估算 pandas 数据框中的整个缺失值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66565971/

相关文章:

python - 在 Selenium 中打开之前设置 chromedriver 窗口大小(python)

python - 如何用星号 ("*") 替换 csv 文件列中的非重复值?

pandas - 在 Pandas 中为 to_csv() 设置 File_Path

excel - 范围内最常见的单词,忽略空格

python - 用于多行代码的 jupyter-notebook markdown

python - 在 Python 中导入 Statsmodel 时出错

php - 使用Python进行HTTP请求的连接问题

python - 转换数据框中的嵌套字典?

internet-explorer-8 - 如何在不单击按钮的情况下强制 IE8 进入兼容模式

operating-system - 模式位在哪里?