首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将一个pandas数据帧的列与另一个数据帧的每一列相加?

如何将一个pandas数据帧的列与另一个数据帧的每一列相加?
EN

Stack Overflow用户
提问于 2017-07-05 17:29:19
回答 1查看 1.2K关注 0票数 0

情况:

两个数据帧(df1和df2)具有相同的三个索引,例如"A“"B”"C“df1和df2的列数不同。df1和df2中的所有单元格都填充了浮点类型的数据。

df1:

代码语言:javascript
复制
   AA    BB   CC   DD
A  28.0   2.3  2.0  113
B  24.0   2.4  2.4  116
C  33.5  10.0  4.0    0

df2:

代码语言:javascript
复制
    AAA   BBB   CCC    DDD    EEE
A  1.01  4.04  7.07  10.10  13.13
B  2.02  5.05  8.08  11.11  14.14
C  3.03  6.06  9.09  12.12  15.15

目标:

在从df2中选择的列(例如"BBB")与df1的每一列相加,结果应存储在新的数据帧(df_new)中。df_new的格式应为df1 (列数和行数),并且与df1具有相同的列名和索引。

new_df:

代码语言:javascript
复制
    AA      BB      CC      DD
A   32.04   6.34    6.04    117.04
B   29.05   7.45    7.45    121.05
C   39.56   16.06   10.06   6.06

我的方法是:

为了将df2的第三列与df1的每一列相加,我尝试:

df_new = df1.add(df2.iloc:,2)

结果:

根据需要,df_new在结构和标签上与df1匹配。问题是:所有单元格都显示为"NaN“,而不是所需的浮点数总和。

df_new:

代码语言:javascript
复制
    AA  BB  CC  DD
A   NaN NaN NaN NaN
B   NaN NaN NaN NaN
C   NaN NaN NaN NaN
EN

Stack Overflow用户

回答已采纳

发布于 2017-07-05 17:55:44

这里有一种方法,使用add

代码语言:javascript
复制
In [293]: df1.add(df2['BBB'], axis=0)
Out[293]:
      AA     BB     CC      DD
A  32.04   6.34   6.04  117.04
B  29.05   7.45   7.45  121.05
C  39.56  16.06  10.06    6.06
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44922246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档