首页 > 解决方案 > 从字典创建 pandas df,但采用特殊格式

问题描述

假设我有字典 d:

d = dict(A =[1,2], B=[1,2,3,4])
print d
{'A': [1, 2], 'B': [1, 2, 3, 4]}

我想创建一个df带有两个标签nodeid的熊猫rowid,看起来像这样:

nodeid  rowid
A       1 
A       2 
B       1 
B       2 
B       3 
B       4

我发现从 dict 创建 pandas df 的所有示例都将 dict 键作为 col 的名称,然后行条目是该键是否具有特定值,NaN如果该节点没有该值,则为 a。

标签: pythonpandasdataframedictionary

解决方案


尝试:

df = pd.DataFrame([(k, v) for (k, l) in d.items() for v in l], 
              columns=['nodeid', 'rowid'])

它给出了:

    nodeid  rowid
0   A   1
1   A   2
2   B   1
3   B   2
4   B   3
5   B   4

推荐阅读