如果值采用类似字典的格式,则从熊猫系列中提取数据

时间:2018-11-23 01:48:54

标签: python pandas

我尝试了Extracting dictionary values from a pandas dataframe中的解决方案,但是没有用。

我有一个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中的所有 screen_name name 。谢谢:)

1 个答案:

答案 0 :(得分:0)

以下是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)]