我很少有这样的字典:

a={2111:1,2112:3,:2113:0,2114:2}
b={2111:1,2112:2,:2113:0,2114:1}
c={2110:2,2112:5,:2113:1,2114:4}
d={2110:1,2113:0,2114:2}

我想把它粘贴成excel来获得如下结果:
Index | A | B | C | D
2110  |   |   | 2 | 1
2111  | 1 | 1 |   |
2112  | 3 | 2 | 5 |
2113  | 0 | 0 | 1 | 0
2114  | 2 | 2 | 4 | 2

我只能用这种方式为一个听写:

df=pd.DataFrame(data=a_dict,index=[0])
df=(df.T)
df.to_excel('output.xlsx',sheet_name="a")


我会感谢你的任何建议。

最佳答案

创建字典并传递到DataFrame构造函数:

a={2111:1,2112:3,2113:0,2114:2}
b={2111:1,2112:2,2113:0,2114:1}
c={2110:2,2112:5,2113:1,2114:4}
d={2110:1,2113:0,2114:2}

df=pd.DataFrame({'A':a,'B':b,'C':c,'D':d})

print (df)
        A    B    C    D
2110  NaN  NaN  2.0  1.0
2111  1.0  1.0  NaN  NaN
2112  3.0  2.0  5.0  NaN
2113  0.0  0.0  1.0  0.0
2114  2.0  1.0  4.0  2.0

若要替换缺少的值,请使用DataFrame.fillna并在必要时转换为整数:
df=pd.DataFrame(di).fillna(0).astype(int)

print (df)
      A  B  C  D
2110  0  0  2  1
2111  1  1  0  0
2112  3  2  5  0
2113  0  0  1  0
2114  2  1  4  2

08-20 03:38