从python pandas dataframe

时间:2016-11-15 01:19:39

标签: python pandas dictionary dataframe

我有一个由两列组成的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),因此它们不起作用。

1 个答案:

答案 0 :(得分:0)

您可以从dictionary_col构建一个新的dict并用它更新df:

df.update(dictionay_col.to_dict())