我有两个数据框,两个数据框的索引相同。我想执行减法运算。即,我想减去df1
列中的df2
中的所有列。 df2只有一列。
输入:
df1
col1 col2 col3
0 10 34 6
1 3 23 123
2 23 45 23
3 5 1 5
4 1 45 6
5 65 6 88
df2
base
0 12
1 43
2 435
3 76
4 23
5 12
我尝试过
df1-df2['base']
结果
0 1 2 3 4 5 col1 col2 col3
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN NaN NaN NaN NaN
但值得期待。
col1 col2 col3
0 -2 22 -6
1 -40 -20 80
2 -412 -390 -412
3 -71 -75 -71
4 -22 22 -17
5 53 -6 76
为什么我会得到NaN以及两个df是如何合并的?
如何获得预期的结果?
答案 0 :(得分:2)
将DataFrame.substract
与参数axis=0
一起使用
df1.subtract(df2['base'], axis=0)
[出]
col1 col2 col3
0 -2 22 -6
1 -40 -20 80
2 -412 -390 -412
3 -71 -75 -71
4 -22 22 -17
5 53 -6 76