Извлечение данных из серии панд, если значения представлены в словарном формате - PullRequest
0 голосов
/ 23 ноября 2018

Я пробую решение в Извлечение значений словаря из кадра данных pandas Но это не сработало.

У меня есть pandas.core.series.Series со следующим общим форматом:

0      {'hashtags': [], 'symbols': [], 'user_mentions...
1      {'hashtags': [], 'symbols': [], 'user_mentions...
2      {'hashtags': [], 'symbols': [], 'user_mentions...
3      {'hashtags': [], 'symbols': [], 'user_mentions...
...

конкретный формат каждого из них похож на следующий:

{'hashtags': [],
'symbols': [],
'user_mentions': [{'screen_name': 'jose_m',
'id_str': '132',
'name': 'Jose',
'indices': [0, 10],
'id': 103},
{'screen_name': 'paul',
 'id_str': '243403',
 'name': 'Jorge',
 'indices': [50, 64],
 'id': 2423}],
 'urls': []}

Я получаю это путем помещения нулевого индекса в переменную entities[0] (индекс может измениться).

Мне нужно извлечь, извлечь все имя_экрана и имя внутри user_mentions.Спасибо:)

1 Ответ

0 голосов
/ 23 ноября 2018

Вот пример с apply , для каждого entities возвращает список с кортежем для каждого user_mention:

def find_user_mention(user_mention):
    return (user_mention['screen_name'], user_mention['name'])

df['entities'].apply(lambda x: [find_user_mention(user_mention) for user_mention in x['user_mentions']])

Пример вывода со случайными данными:

0                       [(NunkMasKKs, ? SUSHIPLANERO ?)]
1                          [(leobilanski, Leo Bilanski)]
2                      [(romerodiario, El Profe Romero)]
3                              [(HugoYasky, Hugo Yasky)]
4                    [(marianorecalde, Mariano Recalde)]
5                     [(cyngarciaradio, Cynthia García)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...