猿问

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

我正在尝试预处理一些数据以用于机器学习目的。我目前正在尝试清理一些 NaN 值,并将它们替换为“未知”和基于列名称的前缀或后缀。

原因是当我使用一种热编码时,我不能将多个具有相同名称的列输入到 xgboost 中。

所以我有以下内容

df = df.apply(lambda x: x.replace(np.nan, 'unknown'))

我想用“unknown_columname”替换 df 中 NaN 的所有实例。有没有简单或简单的方法可以做到这一点?


喵喵时光机
浏览 98回答 2
2回答

呼啦一阵风

尝试一下df = df.apply(lambda x: x.replace(np.nan, f'unknown_{x.name}'))。您也可以使用df = df.apply(lambda x: x.fillna(f'unknown_{x.name}').

红糖糍粑

首先,让我们创建备份数组,以便在有缺失值时进行填充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)
随时随地看视频慕课网APP

相关分类

Python
我要回答