如何解决重塑以 dict 作为值的熊猫数据框
我有一个以 dict 作为值的 Pandas 数据框。我想将此数据帧转换为预期结果中的格式。
我想将列拆分为字典的每个键。 例如,对于第一列“问卷”,我想要“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
dataval = df.questionaire[0]
print(type(dataval))
result = eval(dataval)
print(result)
print(type(result))
for i,(k,v) in enumerate(result.items()):
df["questionaire"+"."+str(k)] = v
df
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。