Python 将嵌套的Json信息提取到新列中
我有一个以下格式的数据框,其中包含来自Google Places的信息:Python 将嵌套的Json信息提取到新列中,python,json,pandas,Python,Json,Pandas,我有一个以下格式的数据框,其中包含来自Google Places的信息: geometry place_id 0 {'location': {'lat': 19.41, 'lng': -99.16},'viewport':{...}} ChIJ72ctQ0D_0YURyVYdfRzImGU 1 {'location': {'lat': 19.42, 'lng':
geometry place_id
0 {'location': {'lat': 19.41, 'lng': -99.16},'viewport':{...}} ChIJ72ctQ0D_0YURyVYdfRzImGU
1 {'location': {'lat': 19.42, 'lng': -99.17},'viewport':{...}} ChIJ11QtkkX_0YUR5EK4tQCqY3A
2 {'location': {'lat': 19.43, 'lng': -99.18},'viewport':{...}} TEST ChIJBUve6UX_0YURCRM4GwUtwsc
3 {'location': {'lat': 19.44, 'lng': -99.16},'viewport':{...}} ChIJQYvciNX90YURv1n4r_l0wvo
4 {'location': {'lat': 19.45, 'lng': -99.16},'viewport':{...}} ChIJkZX8gz__0YURSxUrmMO6JLQ
我想做的是,对于数据帧中的每一行,获取其lat和lng值,并将它们设置为新列,以便数据帧如下所示:
lat lng geometry place_id
0 19.41 -99.16 {'location': {'lat': 19.41, 'lng': -99.16},'viewport':{...}} ChIJ72ctQ0D_0YURyVYdfRzImGU
1 19.42 -99.17 {'location': {'lat': 19.42, 'lng': -99.17},'viewport':{...}} ChIJ11QtkkX_0YUR5EK4tQCqY3A
2 19.43 -99.18 {'location': {'lat': 19.43, 'lng': -99.18},'viewport':{...}} TEST ChIJBUve6UX_0YURCRM4GwUtwsc
3 19.44 -99.16 {'location': {'lat': 19.44, 'lng': -99.16},'viewport':{...}} ChIJQYvciNX90YURv1n4r_l0wvo
4 19.45 -99.16 {'location': {'lat': 19.45, 'lng': -99.16},'viewport':{...}} ChIJkZX8gz__0YURSxUrmMO6JLQ
不知道怎么做。。。
我尝试过像df['latitude']=df[['geometry']]['location']['lat']这样奇怪的东西,但这根本不起作用。我肯定有一个我不熟悉的优雅的解决方案。。。
有什么建议吗?更改从JSON文件提取数据的方式
df1 = pd.json_normalize(jsonfile, record_path=['location'], meta=['place_id'])
df2 = pd.json_normalize(jsonfile)
pd.merge(df1, df2 on='place_id')
嗯,就是这样。谢谢