情况:
两个数据帧(df1和df2)具有相同的三个索引,例如"A“"B”"C“df1和df2的列数不同。df1和df2中的所有单元格都填充了浮点类型的数据。
df1:
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 0df2:
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:
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:
AA BB CC DD
A NaN NaN NaN NaN
B NaN NaN NaN NaN
C NaN NaN NaN NaN发布于 2017-07-05 17:55:44
这里有一种方法,使用add
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.06https://stackoverflow.com/questions/44922246
复制相似问题