JSON массив в одно горячее кодирование в pandas - PullRequest
0 голосов
/ 16 апреля 2020

Допустим, у меня есть 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

Какой хороший элегантный способ выполнить sh это?

1 Ответ

1 голос
/ 16 апреля 2020

IIU C:

(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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...