为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas - 替换缺失值并同时根据列添加前缀或后缀?

Pandas - 替换缺失值并同时根据列添加前缀或后缀?

喵喵时光机 2023-07-27 16:19:55
我正在尝试预处理一些数据以用于机器学习目的。我目前正在尝试清理一些 NaN 值,并将它们替换为“未知”和基于列名称的前缀或后缀。原因是当我使用一种热编码时,我不能将多个具有相同名称的列输入到 xgboost 中。所以我有以下内容df = df.apply(lambda x: x.replace(np.nan, 'unknown'))我想用“unknown_columname”替换 df 中 NaN 的所有实例。有没有简单或简单的方法可以做到这一点?
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

尝试一下df = df.apply(lambda x: x.replace(np.nan, f'unknown_{x.name}'))

您也可以使用df = df.apply(lambda x: x.fillna(f'unknown_{x.name}').


查看完整回答
反对 回复 2023-07-27
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

首先,让我们创建备份数组,以便在有缺失值时进行填充

s = np.core.defchararray.add('unknown',df.columns.values)

然后我们可以简单地将每个 NaN 替换为 s 中的正确值:

cols = df.columns.values
for col_name in cols:
    df.col_name.fillna(s, inplace=True)


查看完整回答
反对 回复 2023-07-27
  • 2 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信