微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重塑以 dict 作为值的熊猫数据框

如何解决重塑以 dict 作为值的熊猫数据框

我有一个以 dict 作为值的 Pandas 数据框。我想将此数据帧转换为预期结果中的格式。

image of the df i have

我想将列拆分为字典的每个键。 例如,对于第一列“问卷”,我想要“questionnaire.step”、“questionnaire.lastCompletedStep”等。

这里的问题是 json 规范化不起作用:

json_normalize(data=data)

有人知道怎么解决吗?

解决方法

列值的格式是否为 string 类型?如果是,那么你可以试试这个。 我在数据框上试过这个,它奏效了。遍历每列值将它们从 str 转换为 dict 然后遍历这些值创建一个具有键值的新列并将值分配给该列。

data  =  [str({"step": 7,"lastCompletedStep": 7})]
df = pd.DataFrame(data,columns=["questionaire"])
df

enter image description here

dataval = df.questionaire[0]
print(type(dataval))

enter image description here

result = eval(dataval)
print(result)
print(type(result))

enter image description here

for i,(k,v) in enumerate(result.items()):
df["questionaire"+"."+str(k)] = v
df

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。