将具有不同键的字典连接到 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
假设我有两个带有共享键和非共享键的词典:
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