python - 用范围内的随机值替换 NaN
问题描述
我正在使用此代码用范围内的随机值替换 NaN
import numpy as np
def processNan (x):
return np.random.choice([1.0, 2.0])
assure['codeTypePieceIdentite'] = assure['codeTypePieceIdentite'].apply(lambda x: processNan(x) if x is nan else x)
由于某种原因它不起作用没有任何变化
解决方案
尽可能避免使用.apply
,它不是最佳解决方案,因为它没有利用矢量化。在这种情况下,您可以执行以下操作:
mask = df["codeTypePieceIdentite"].isna()
df.loc[mask, "codeTypePieceIdentite"] = np.random.choice([1,2], mask.sum())
推荐阅读
- c++ - 从其十六进制值返回 OpenGL #define 错误名称的函数
- ibm-cloud - 如何为 IBM Cloud 中的给定解决方案设置不同的环境?
- styles - 代号一 - 即使没有任何边距也能在组件之间绘制偏差
- google-analytics - 如何在谷歌分析中注册本地主机网站
- symfony - 自动通知显示 date_end 是否靠近用户
- sql - 在选择处或附近执行子查询错误时,Postgres 说明错误
- sql - 如何进行高级 SQL 连接谓词/提示以避免不需要的行?
- javascript - 将字节数组转换为图像在 Chrome 中不起作用
- c# - 如何使用 IdentityUser 作为外键在 SQL 数据库中播种值?
- python - 如何在 query_set 中获取第二个字段?