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

Python JSON数组到熊猫中的一个热编码,python,pandas,dataframe,one-hot-encoding,Python,Pandas,Dataframe,One Hot Encoding,假设我有一个熊猫数据框,看起来如下所示: car colors corvette {"colors": ["red", "black"]} forester {"colors": ["white", "silver", "black"]} 我想对每辆车的颜色进行一个热编码,如下所示: car black red white silver black corvette 1 1

假设我有一个熊猫数据框,看起来如下所示:

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
实现这一目标的优雅方式是什么?

IIUC:

(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

使用以下代码运行此代码:d={'car':['corvette','forester'],'colors':[{'colors':['red','black']},{'colors':['white','silver','black']}}df=pd.DataFrame(data=d)以及您在上面提供的内容,收到以下错误:AttributeError:'Series'对象没有属性'explode'