python - 分类到二进制 - 我做错了什么?

标签 python pandas numpy math

我正在转换成人收入数据集的目标列(<50K 和 >=50K),我希望 <50K 为 0,超过或等于 50K 为 1。

当我运行下面的代码时,它会创建两列,而我在列中希望的只是列出 <50K 的位置,将其替换为 1,列出 >50K 的位置,将其替换为 0。

cols_to_transform = [ 'Target' ]
df_with_dummies = pd.get_dummies(columns = cols_to_transform, data=data)

>      Native Country  Target_<=50K  Target_>50K  
>0      United-States             1            0  
>1      United-States             1            0  
>2      United-States             1            0  
>3      United-States             1            0  
>4               Cuba             1            0  

对于我哪里出错以及如何将此分类映射到仅一列(例如“目标”)有什么想法吗?

最佳答案

假设您指的是这个dataset您可以使用 map 方法来创建该列:

data["Target_binary"] = data["Target"].map(lambda x: 1 if x == ">50K"else 0)

关于python - 分类到二进制 - 我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44137381/

相关文章:

python - NumPy 中 'any' 的困难

python - 强制其危险的 URLSafeTimedSerializer 提供旧签名

python - 为什么 turtle 会照亮像素?

python - 需要有关解决 Wagtail/SQL Azure 兼容性问题的建议

python - Pandas 数据框 : Show duplicate rows - with exact duplicates

python - 将 pandas Dataframe 的行转换为可迭代的字符串列表

python - 如何在pytest中为asyncio代码编写fixture

python - 在 Pandas 中,当使用 read_csv() 时,如何将 NaN 分配给不是预期 dtype 的值?

python - 如何修复 "no module named cv2"?

python - 形状不可用的 OpenCV 框架