Преобразовать список словаря в кадре данных в отдельный кадр данных - PullRequest
0 голосов
/ 15 февраля 2019

Чтобы преобразовать список словаря, уже присутствующего в наборе данных, в кадр данных.Набор данных выглядит примерно так:

[{'id': 35, 'name': 'Comedy'}]

Как преобразовать этот список словаря в фрейм данных?

Спасибо за ваше время!

Я хочу получить:

Комедия

из списка словаря.

1 Ответ

0 голосов
/ 15 февраля 2019

Использование:

df = pd.DataFrame({'col':[[{'id': 35, 'name': 'Comedy'}],[{'id': 35, 'name': 'Western'}]]})
print (df)
                               col
0   [{'id': 35, 'name': 'Comedy'}]
1  [{'id': 35, 'name': 'Western'}]

df['new'] = df['col'].apply(lambda x: x[0].get('name'))
print (df)
                               col      new
0   [{'id': 35, 'name': 'Comedy'}]   Comedy
1  [{'id': 35, 'name': 'Western'}]  Western

Если возможно, несколько dict с в списке:

df = pd.DataFrame({'col':[[{'id': 35, 'name': 'Comedy'}, {'id':4, 'name':'Horror'}],
                          [{'id': 35, 'name': 'Western'}]]})
print (df)
                                                 col
0  [{'id': 35, 'name': 'Comedy'}, {'id': 4, 'name...
1                    [{'id': 35, 'name': 'Western'}]

df['new'] = df['col'].apply(lambda x: [y.get('name') for y in x])
print (df)
                                                 col               new
0  [{'id': 35, 'name': 'Comedy'}, {'id': 4, 'name...  [Comedy, Horror]
1                    [{'id': 35, 'name': 'Western'}]         [Western]

И, если хотите, извлечь все значения:

df1 = pd.concat([pd.DataFrame(x) for x in df['col']], ignore_index=True)
print (df1)
   id     name
0  35   Comedy
1   4   Horror
2  35  Western
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...