首页 > 解决方案 > 如何在将键值与列名匹配的同时将字典添加到数据框中?

问题描述

想象一下,我有以下数据框:

s1 = pd.Series({'A': 1, 'B': 2, 'C': 3})
s2 = pd.Series({'A': 4, 'B': 5, 'C': 6})
s3 = pd.Series({'A': 7, 'B': 8, 'C': 9})

df = pd.DataFrame([s1, s2, s3])
print(df)

我想将以下 s4、s5 和 s6 系列分别添加到 s1、s2 和 s3 行,同时使用字典键创建一列(如果字典键不存在),并用 0 填充所有其他列值。

s4 = pd.Series({'D': 2, 'G': 8})
s5 = pd.Series({'E': 5})
s6 = pd.Series({'D': 6, 'E': 3})

我想要的结果数据框如下所示:

s7 = pd.Series({'A': 1, 'B': 2, 'C': 3, 'D': 2, 'G': 8, 'E': 0})
s8 = pd.Series({'A': 4, 'B': 5, 'C': 6, 'D': 0, 'G': 0, 'E': 5})
s9 = pd.Series({'A': 7, 'B': 8, 'C': 9, 'D': 6, 'G': 0, 'E': 3})

df2 = pd.DataFrame([s7, s8, s9])
print(df2)

有没有办法轻松做到这一点?

标签: pythonpandas

解决方案


推荐阅读