替换缺少的值&同时根据列添加前缀或后缀?

2024-09-27 02:19:58 发布

您现在位置:Python中文网/ 问答频道 /正文

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

原因是当我使用一个热编码时,我不能将多个同名列输入xgboost

所以我有以下几点

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

我想用“unknown_columname”替换df中的所有NaN实例。有没有简单易行的方法


Tags: 数据lambda目的机器编码dfnp原因
2条回答

首先,让我们创建备份阵列,以便在缺少值时填充

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

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

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

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

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

相关问题 更多 >

    热门问题