python - 仅使用 panda 替换数据框中的值(不使用 numpy)
问题描述
我有一个熊猫数据框 df ,如下所示。
INDEX NAME AGE HEIGHT ENGLISH
0 a 19.0 5 NaN
1 g NaN 2 100.0
2 j 82.0 2 NaN
我想用年龄的平均值替换 AGE 下的“NaN”,用其他两个值替换英语下的“NaN”。如果不使用 numpy 而只使用 pandas,这可能吗?
解决方案
是的,您可以使用df['column_name'].mean()
. 将此与fillna()
功能结合起来,您将得到您想要的:
df = pd.DataFrame({'Age' : [19.0, np.nan, 82.0], 'ENGLISH' : [np.nan, 100.0, np.nan]})
df.fillna(value = {'Age' : df['Age'].mean(), 'ENGLISH' : df['ENGLISH'].mean()},
inplace = True)
Age ENGLISH
0 19.0 100.0
1 50.5 100.0
2 82.0 100.0
推荐阅读
- spring-mvc - 请帮助解释 Lombok 的 @AllArgsConstructor 和 spring 的 @RestController 的奇怪组合
- python-3.x - 如何修复错误:命令错误退出状态 1:python setup.py egg_info 安装 geograpy 包
- sql-server - 从 SQL Server Management Studio 连接到数据库服务器时出错
- powershell - 缺少双面 WIA 扫描属性
- spring-boot - 如何使用 Spring Boot jmsListener 为失败的消息配置 DLQ?
- java - 获取Java中类的字段名称
- zapier - 在 zapier 中使用格式化程序高级自定义字段进行日期格式化
- sql - 一段时间内的平均速度很慢
- java - 无法使用 ByteBuddy 代理转换类
- sql - 将具有多个属性的行转换为每行具有一个属性的行