如何解包键,数据帧列中json的值将转换为键作为列,而使用python将值转换为其值?

2024-04-25 09:08:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框: enter image description here

我想将cast列中json格式的每一行的键和值分别解压为单独的列和它们的值。所以基本上,cast_id,character应该在数据框中用各自的值分隔成列

我试过:

from pandas.io.json import json_normalize
data_1 = json_normalize(data = casts['cast'], 
                            meta =['cast_id', 'character', 'credit_id', 'gender', 'id','name','order', 'profile_path'])

代码正在抛出错误:AttributeError: 'str' object has no attribute 'values'

enter image description here


Tags: 数据fromioimportidjsonpandasdata
1条回答
网友
1楼 · 发布于 2024-04-25 09:08:36

我查找了您正在使用的数据集,这将起作用:

from ast import literal_eval
casts['cast'] = casts['cast'].apply(literal_eval)

您现在可以通过执行
找到每部电影(例如第一部)的演员阵容 json_normalize(data=casts['cast'][0])

如果您想要包含所有电影的所有演员阵容成员的数据帧,请执行以下操作:
total_cast = pd.DataFrame()

for i in range(len(casts)): total_cast = total_cast.append(json_normalize(data=casts['cast'][i]))

相关问题 更多 >