python - 对来自 2 个数据帧 : Python Pandas 的匹配列执行数学运算

标签 python pandas frame

我有这两个具有不同行索引的数据框,但有些列是相同的。 我想要做的是获取一个数据框,将具有相同列名的两个数据框的数量相加

df1 = pd.DataFrame([(1,2,3),(3,4,5),(5,6,7)], columns=['a','b','d'], index = ['A', 'B','C','D'])
df1
   a  b  d
A  1  2  3
B  3  4  5
C  5  6  7

df2 = pd.DataFrame([(10,20,30)], columns=['a','b','c'])

df2
    a   b   c
0  10  20  30

输出数据框:

    a   b  d
A  11  22  3
B  13  24  5
C  15  16  7

最好的方法是什么? .add() 似乎不适用于具有不同索引的数据框。

最佳答案

这条单线就可以解决问题:

In [30]: df1 + df2.ix[0].reindex(df1.columns).fillna(0)
Out[30]:
    a   b  d
A  11  22  3
B  13  24  5
C  15  26  7

关于python - 对来自 2 个数据帧 : Python Pandas 的匹配列执行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29828316/

相关文章:

python - 使用不等式条件从 pandas 数据帧中查找值到另一个数据帧中

python - 搜索没有 html 标签的漂亮的 soup 输出

python - SQLalchemy 1.4.15版本后无法连接到SQL Server

python - pandas 数据框中的 Excel 工作表名称

python - pandas 中按组划分的独特值的一年滚动计数

Javascript:将 javascript 中的 HTML 代码放入框架中

python - 如何计算大文件中每个数字的每次出现次数

pandas - 将 df 中的一列映射到所有单词都存在的另一个 df

ios7 - iOS 7 中导航栏的高度是多少?

android - Unity,在 120hz 设备上构建 android 的问题