首页 > 解决方案 > Pandas - 替换缺失值并同时根据列添加前缀或后缀?

问题描述

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

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

所以我有以下

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

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

标签: pythonpandas

解决方案


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

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


推荐阅读