将具有不同键的字典连接到Pandas数据帧中

时间:2017-05-17 20:53:26

标签: python pandas dictionary one-hot-encoding

假设我有两个带共享和非共享密钥的词典:

d1 = {'a': 1, 'b': 2}
d2 = {'b': 4, 'c': 3}

我如何将它们连接成一个类似于单热编码的数据框?

a   b   c
1   2   
    4   3

1 个答案:

答案 0 :(得分:2)

如果你想要与你所展示的结果相同......

pd.DataFrame([d1, d2], dtype=object).fillna('')

   a  b  c
0  1  2   
1     4  3

如果您想用零填充缺失值并保留int dtype ...

pd.concat(dict(enumerate(map(pd.Series, [d1, d2])))).unstack(fill_value=0)

   a  b  c
0  1  2  0
1  0  4  3

或正如OP在评论中所指出的那样

pd.DataFrame([d1, d2], dtype=object).fillna(0).astype(int)

   a  b  c
0  1  2  0
1  0  4  3