猿问

JSON数组到熊猫中的一种热编码

假设我有一个如下所示的 pandas 数据框:


car              colors

corvette         {"colors": ["red", "black"]}

forester         {"colors": ["white", "silver", "black"]}

我想对每辆车的颜色进行一次热编码,如下所示:


car        black    red   white  silver  black

corvette       1      1       0       0      0

forester       1      0       1       1      0

什么是完成此任务的优雅方式?


慕标琳琳
浏览 106回答 1
1回答

蓝山帝景

国际大学联盟:(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  white0  corvette      1    1       0      01  forester      1    0       1      1
随时随地看视频慕课网APP

相关分类

Python
我要回答