我有30多个特征,但我需要将其中的两个特征转换为虚拟变量。这两个特征是获胜者和失败者的名称。你可以在下面的照片中看到这些特征。我希望看到这些名称在每行相同位置上的转换为虚拟类型的过程。
我不明白如何使用方法将其转换为虚拟变量。有人能给我一些建议吗?提前谢谢你。你可以在这里找到包含特征的图片,以便你理解我的需求
回答:
@隐藏人名:
方法 pd.get_dummies
应该能解决你的问题。
解决方案
df # 你的DataFrame如图所示# 生成虚拟变量dum_winners = pd.get_dummies(df.Winner, prefix="win", prefix_sep=" ")dum_losers = pd.get_dummies(df.Loser, prefix="los", prefix_sep=" ")# 使用虚拟变量更新dfdf = pd.concat([df, dum_winners, dum_losers], axis=1)\ .drop(columns=["Winner", "Loser"])
上述解决方案的输入为:
Other Features Winner Loser0 2 John D. Jason S.1 4 Jason S. Eric N.
输出为:
Other Features win Jason S. win John D. los Eric N. los Jason S.0 2 0 1 0 11 4 1 0 1 0
详细信息
这里是文档链接: