Преобразование списка в DataFrame и вложенный словарь Split внутри столбца DataFrame - Python 3.6 - PullRequest
0 голосов
/ 27 сентября 2018

Я хочу преобразовать список в DataFrame и разделить вложенный словарь внутри столбца DataFrame, ниже приведен мой код.

import pandas

d = [{"key":1000000, "name":"Aelf", "level":0, "hasData":"true", "fields":{"id":"elf"}}]
pd.DataFrame(d)

Я хочу разбить «поля» на новый столбец «id»

key name    level   hasData fields  id
1000000 Aelf    0   true    {'id': 'elf'}   elf

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

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

pd.concat([df,df.fields.apply(pd.Series)],axis=1)
Out[308]: 
          fields hasData      key  level  name   id
0  {'id': 'elf'}    true  1000000      0  Aelf  elf
0 голосов
/ 27 сентября 2018

Вы можете использовать join с pop + tolist:

d = [{"key":1000000, "name":"Aelf", "level":0, "hasData":"true", "fields":{"id":"elf"}},
     {"key":2000000, "name":"Cdaf", "level":1, "hasData":"false", "fields":{"id":"deer"}}]
df = pd.DataFrame(d)

res = df.join(pd.DataFrame(df.pop('fields').tolist()))

Результат:

  hasData      key  level  name    id
0    true  1000000      0  Aelf   elf
1   false  2000000      1  Cdaf  deer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...