假设我有一个如下所示的 pandas 数据框:car colorscorvette {"colors": ["red", "black"]}forester {"colors": ["white", "silver", "black"]}我想对每辆车的颜色进行一次热编码,如下所示:car black red white silver blackcorvette 1 1 0 0 0forester 1 0 1 1 0什么是完成此任务的优雅方式?
1 回答

蓝山帝景
TA贡献1843条经验 获得超7个赞
国际大学联盟:
(df.drop('colors', axis=1)
.join(pd.get_dummies(pd.DataFrame.from_records(df.colors.values)
['colors'].explode())
.sum(level=0)
)
)
输出:
car black red silver white
0 corvette 1 1 0 0
1 forester 1 0 1 1
添加回答
举报
0/150
提交
取消