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

Concatenating dictionaries with different keys into Pandas dataframe

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

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

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

a   b   c
1   2   
    4   3

如果您想要与所显示的结果相同...

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