python - 如何用模式/平均值估算熊猫数据框中的整个缺失值?
问题描述
我知道通过将每一列分别填充的代码如下
data['Native Country'].fillna(data['Native Country'].mode(), inplace=True)
但我正在处理一个有 50 行的数据集,并且有 20 个分类值需要估算。是否有用于估算整个数据集的单行代码?
解决方案
使用DataFrame.fillna
并DataFrame.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
推荐阅读
- swift - 如何在 swift 中使用字典解析 json?
- android - Android MediaExtractor:读取 mp3 文件时速度慢
- c++ - 为什么我会收到此错误:CSE 类没有名为 EnterRN 和 EnterName 的成员?
- java - Android Studio 接受许可
- amazon-web-services - AWS Fargate 定价任务
- java - 尝试合并arraylist时不断收到IndexOutOfBounds异常
- python - 关于python离散卷积的问题
- javascript - Google Sheets - UrlFetchapp.fetch 在调试器中工作的自定义函数,但从工作表调用时不
- linux - 期待/发送问题
- php - MySQL 返回值未格式化 (PHP)