Извлечение значения из столбца Pandas, который является словарем - PullRequest
1 голос
/ 06 апреля 2020

У меня есть датафрейм в следующем формате:

id, value
101, [{'id': 'ZWJ', 'type': 'user_reference', 'summary': 'Person 1'}]
102, [{'id': 'ZWS', 'type': 'user_reference', 'summary': 'Person 2'}]

Я пытаюсь извлечь значение, помеченное для сводки в каждой строке.

Ожидаемый результат:

id, name
101, Person 1
102, Person 2

Ответы [ 2 ]

2 голосов
/ 06 апреля 2020

Используйте str[0] для получения первого списка, а затем Series.str.get для значения summary:

df['name'] = df['value'].str[0].str.get('summary')

print (df)
    id                                              value      name
0  101  [{'id': 'ZWJ', 'type': 'user_reference', 'summ...  Person 1
1  102  [{'id': 'ZWS', 'type': 'user_reference', 'summ...  Person 2

Подробности :

print (df['value'].str[0])
0    {'id': 'ZWJ', 'type': 'user_reference', 'summa...
1    {'id': 'ZWS', 'type': 'user_reference', 'summa...
Name: value, dtype: object
0 голосов
/ 06 апреля 2020

Получил это исправлено

df['name'] = df.value(operator.itemgetter(0)).apply(operator.itemgetter('summary'))
...