python - Pandas:如何用该列的平均值替换列中的零值,对于所有具有零值的列
问题描述
我有一个多个值为零的数据框。我想用该列的平均值替换零值而不重复代码。我有名为运行时、预算和收入的列都为零,我想用该列的平均值替换这些零值。
我曾尝试一次做一列,如下所示:
print(df['budget'].mean())
-> 14624286.0643
df['budget'] = df['budget'].replace(0, 14624286.0643)
他们是一种编写函数的方法,不必为所有列的每个零值多次编写代码吗?
解决方案
同样我们可以直接使用replace方法来实现。无填充
df.replace(0,df.mean(axis=0),inplace=True)
方法信息:将“to_replace”中给出的值替换为“value”。
DataFrame 的值被动态替换为其他值。这与使用.loc 或 .iloc进行更新不同,后者要求您指定要使用某个值更新的位置。
推荐阅读
- spring-data - 如何在 Spring Data LDAP 存储库中获取用户的完整 DN
- github - 如何将状态检查添加到 github 存储库
- vcpkg - 如何使用具有不同三元组的 vcpkg 包?
- django - Django中间页面和处理多个项目
- javascript - redux store 中是否允许使用复杂的对象?
- typescript - 接受 NaN 作为未定义的计算结果
- android - 仅当值存在时才向 Retrofit 添加查询
- kotlin - sqldelight:如何确保只调用一次`create`
- android - 从 OMDB API android 获取电影的详细信息
- autodesk-forge - Autodesk forge 查看器更新三个 js 几何比例