我有一个由两列组成的pandas数据框。一列是ID,另一列是100多个键和值的嵌套字典。
我正在尝试将字典列解析为多个列(每个键的列)但我无法弄明白。
我能做的是手动指定每个列的名称,并使用apply函数从字典中提取值:
def get_col(row):
d = ast.literal_eval(row["dictionary_col"])
js = json.dumps(d["key1"])
return js
df["key1"]=df.apply(lambda row: get_col(row),axis=1)
如何为df
中的每个密钥dictionary_col
创建一个列?
我发现了一些将字典转换为数据帧的方法,但由于我的字典位于数据框的列中(另一列是id),因此它们不起作用。
答案 0 :(得分:0)
您可以从dictionary_col构建一个新的dict并用它更新df:
df.update(dictionay_col.to_dict())