【发布时间】:2018-06-14 00:21:44
【问题描述】:
a picture on how the data look like
所以,我有一个带有数据的 json 文件,该文件确实是嵌套的,我只想获取单词并为每个帖子 ID 创建一个新的数据框。有人可以帮忙吗?
【问题讨论】:
标签: python json pandas dataframe
a picture on how the data look like
所以,我有一个带有数据的 json 文件,该文件确实是嵌套的,我只想获取单词并为每个帖子 ID 创建一个新的数据框。有人可以帮忙吗?
【问题讨论】:
标签: python json pandas dataframe
您可以将apply 与list comprehension 一起使用:
df = pd.DataFrame({'member_info.vocabulary':[[], [{'post_iD':'3913', 'word':'Twisters'},
{'post_iD':'3911', 'word':'articulate'}]]})
df['words'] = df['member_info.vocabulary'].apply(lambda x: [y.get('word') for y in x])
print (df)
member_info.vocabulary words
0 [] []
1 [{'post_iD': '3913', 'word': 'Twisters'}, {'po... [Twisters, articulate]
如果获取一个元素列表,只需添加 str[0] 以选择列表的第一个值:
df = pd.DataFrame({'member_info.vocabulary':[[], [{'post_iD':'3913', 'word':'Twisters'}]]})
df['words'] = df['member_info.vocabulary'].apply(lambda x: [y.get('word') for y in x]).str[0]
print (df)
member_info.vocabulary words
0 [] NaN
1 [{'post_iD': '3913', 'word': 'Twisters'}] Twisters
【讨论】: