Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将嵌套的Json信息提取到新列中_Python_Json_Pandas - Fatal编程技术网

Python 将嵌套的Json信息提取到新列中

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':

我有一个以下格式的数据框,其中包含来自Google Places的信息:

      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')

嗯,就是这样。谢谢