我有一个很大的字典,大概是这样的:
d[id1][id2] = value
示例:
books["auth1"]["humor"] = 20
books["auth1"]["action"] = 30
books["auth2"]["comedy"] = 20
以此类推..
每个"auth“键可以具有与它们相关联的任何一组”类型“。键控项的值是他们写的书的数量。
现在我想要的是将其转换为matrix...something的形式,如下所示:
"humor" "action" "comedy"
"auth1" 20 30 0
"auth2" 0 0 20
我该怎么做呢?谢谢
发布于 2012-05-17 09:12:16
pandas在这方面做得很好:
books = {}
books["auth1"] = {}
books["auth2"] = {}
books["auth1"]["humor"] = 20
books["auth1"]["action"] = 30
books["auth2"]["comedy"] = 20
from pandas import *
df = DataFrame(books).T.fillna(0)
输出为:
action comedy humor
auth1 30 0 20
auth2 0 20 0
发布于 2018-03-03 07:25:48
在2018年,我认为Pandas0.22支持这个out of the box。具体来说,请检查DataFrame
的from_dict
类方法。
books = {}
books["auth1"] = {}
books["auth2"] = {}
books["auth1"]["humor"] = 20
books["auth1"]["action"] = 30
books["auth2"]["comedy"] = 20
pd.DataFrame.from_dict(books, orient='columns', dtype=None)
https://stackoverflow.com/questions/10623592
复制相似问题