我从一个API调用中获得了一个数据,并希望在"_embedded_results“列中提取字典。dataframe看起来如下:
BC_id _embedded.results
0 6EAE8B27FCC11ED892E91CE972E580CC [{'className': 'Skill', 'classId': 'http://dat...
1 7EAE8B27FCC11ED892E91CE972E580CC [{'className': 'Skill', 'classId': 'http://dat...
2 8EAE8B27FCC11ED892E91CE972E580CC [{'className': 'Skill', 'classId': 'http://dat...
3 9EAE8B27FCC11ED892E91CE972ED00CC [{'className': 'Skill', 'classId': 'http://dat...
4 0EAE8B27FCC11ED892E91CE972ED00CC [{'className': 'Skill', 'classId': 'http://dat.."_embedded_results“列(例如,位置0)详细如下所示。对于每一行,都有一个包含5个不同字典的列表:
[{'className': 'Skill',
'classId': 'http://data.europa.eu/esco/model#Skill',
'uri': 'http://data.europa.eu/esco/skill/237db40b-4600-47c0-837f-4a2c4f3014ab',
'searchHit': 'range of project control principles',
'title': 'project management principles'},
{'className': 'Skill',
'classId': 'http://data.europa.eu/esco/model#Skill',
'uri': 'http://data.europa.eu/esco/skill/abb9c7f1-6d69-4feb-913e-6e577d426ea4',
'searchHit': 'Operate projection equipment manually or with a control panel.',
'title': 'operate projector'},
...}]现在,我想提取"_embedded_results“的"title”值,并将其附加为额外的列。例如,在第一个条目中如下所示:
BC_id _embedded.results Title1 Title2 ...
0 6EAE8B27FCC11ED892E91CE972E580CC [{'className': 'Skill', 'classId': 'http://dat... project management principles operate projector
1 7EAE8B27FCC11ED892E91CE972E580CC [{'className': 'Skill', 'classId': 'http://dat...
2 8EAE8B27FCC11ED892E91CE972E580CC [{'className': 'Skill', 'classId': 'http://dat...
3 9EAE8B27FCC11ED892E91CE972ED00CC [{'className': 'Skill', 'classId': 'http://dat...
4 0EAE8B27FCC11ED892E91CE972ED00CC [{'className': 'Skill', 'classId': 'http://dat..另一个选项是创建一个列" title“,并为每个标题追加一行。
我尝试过这样做,以提取每一行的标题,但我不知道如何再次将其放入dataframe中:
my_list = [[x['title'] for x in list_dict] for list_dict in my_df1['_embedded.results']]
my_list[0:2]
[['project management principles',
'operate projector',
'manage railway construction projects',
'prepare financial projections',
'Prince2 project management'],
['project management principles',
'operate projector',
'manage railway construction projects',
'prepare financial projections',
'Prince2 project management']]有人知道怎么解决这个问题吗?提前感谢!
发布于 2022-02-21 15:04:56
,但我不知道如何再一次将它放入dataframe:
只需将[[x['title'] for x in list_dict] for list_dict in my_df1['_embedded.results']]分配给新列而不是变量,请考虑下面的简单示例
import pandas as pd
df = pd.DataFrame({"data":[[1,2,3],[4,5,6],[7,8,9]]})
df["cubes"] = [[j**2 for j in i] for i in df['data']]
print(df)输出
data cubes
0 [1, 2, 3] [1, 4, 9]
1 [4, 5, 6] [16, 25, 36]
2 [7, 8, 9] [49, 64, 81]https://stackoverflow.com/questions/71208366
复制相似问题