首页 > 解决方案 > 目标 (1 &0) 列未从 str 转换为 int 类型

问题描述

我正在尝试做一个逻辑回归项目。为了绘制图表,我使用下面的代码将 0 转换为“不寻找改变”,将 1 转换为“寻找工作改变”。

retarget = {0.0: 'Not looking for job change',
           1.0: 'Looking for job change'}
hr['target'] = hr['target'].map(retarget)

但是在探索性数据分析之后,我想将“不寻找工作变更”转换为 0,将“正在寻找工作变更”转换为 1。我再次尝试了上面的代码,如下所示:

retarget2 = {'Not looking for job change': 0, 'Looking for job change': 1}
hr['target'] = hr.target.map(retarget2)

但我在目标值列中得到 NaN。这是数据集的快照: 在此处输入图像描述

请帮我解决。我是 Python 新手,正在努力学习它。

标签: pandasdataframelogistic-regressiondata-preprocessing

解决方案


创建一个新列target_str而不是覆盖target列,并在您不再需要时将其删除。

retarget = {0.0: 'Not looking for job change',
           1.0: 'Looking for job change'}
hr['target_str'] = hr['target'].map(retarget)

# do what you want with target_str

hr = hr.drop(columns='target_str')

推荐阅读