python - 替换列中零百分比的零小于 50
问题描述
我正在尝试创建一个评估器。如果一列中零的百分比小于 50%,则用平均值替换零。
我尝试了所有我想不到的东西,但没有任何效果。
i = 0
if (1-((df1.iloc[:, i] == 0).astype(float).sum(axis=0)/df1.iloc[:, i].count())) > 0.5:
df1.iloc[:, i] = df1.iloc[:, i].mask(df1.iloc[:, i]==0).fillna(df1.iloc[:, i].mean())
i = i+1
else:
i = i+1
def Zeros(i):
if (1-((df1.iloc[:, i] == 0).astype(float).sum(axis=0)/df1.iloc[:, i].count())) > 0.5:
df1.iloc[:, i] = df1.iloc[:, i].mask(df1.iloc[:, i]==0).fillna(df1.iloc[:, i].mean())
i = i+1
else:
i = i+1
return
Zeros(0)
解决方案
尝试这个:
i = 0
if df[i].value_counts()[0] / len(df) < 0.5:
df.iloc[df['i'] == 0, i] = df[i].mean()
推荐阅读
- php - PHP中Chunk的FCM通知问题
- apache-spark - 在pyspark中标记两个日期之间的所有数据点
- kubernetes - 在 K8 1.16 的 AKS 中使用 Helm3 部署 Web 应用程序时出错
- google-apps-script - 从电子表格复制到另一个具有动态标题的电子表格
- django - 自定义身份验证背景和自定义登录表单的问题
- laravel-8 - SQLSTATE[HY000]:一般错误:1364 ----请帮助我使用 Laravel 8 解决它
- neo4j - 在 Neo4j 中添加与现有数据的关系
- powershell - PowerShell 中的日期时间无法转换我的时间
- reactjs - 在网络选项卡中显示但未在页面上显示时反应获取返回未定义
- netty - Grpc netty 处理程序库与 OpenJSSE 冲突