我正在转换成人收入数据集的目标列(<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/