Python DataFrame разделяет столбец dict на несколько столбцов - PullRequest
0 голосов
/ 07 декабря 2018

Столбец выглядит следующим образом:

0 [{'id': 18, 'name': 'Drama'}, {'id': 10769, 'n ...

1 [{'id': 18, 'name': 'Drama'}, {'id': 10749, 'n ...

2 [{' id ': 35,' name ':'Comedy'}, {'id': 27, 'nam ...

3 [{' id ': 18,' name ':' Drama '}]

4 [{'id': 99, 'name': 'Documentary'}]

5 [{'id': 18, 'name': 'Drama'}, {'id': 28, 'name ...

6 [{'id': 10749, 'name': 'Romance'}, {'id': 18, ...

Я хочу видеть столбцы идентификаторов со значением boolдля каждого жанра:

индекс id = 18 id = 10769 id = 35 id = 27 ...

0 1 1 0 0 ...

1 1 0 00 ...

2 0 0 1 1 ...

3 1 0 0 0 ...

...

1 Ответ

0 голосов
/ 07 декабря 2018

Использовать понимание списка со сглаживанием, а затем конструктор DataFrame:

df = pd.DataFrame({'col':[[{'id': 18, 'name': 'Drama'}, {'id': 10769}], 
                          [{'id': 99, 'name': 'Documentary'}]]})

print (type(df.loc[0, 'col']))
<class 'list'>

df = pd.DataFrame([y for x in df['col'] for y in x])
print (df)
      id         name
0     18        Drama
1  10769          NaN
2     99  Documentary

#alternative
#df = pd.concat([pd.DataFrame(x) for x in df['col']], ignore_index=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...