假设我有如下数据:

df1 = pandas.DataFrame({'dontTouch1':[0,1,2,3,4,5],
                        'dontTouch2':[0,1,2,3,4,5],
                        'sumThis':   [1,1,3,5,8,13]})
df2 = pandas.DataFrame({'dontTouch1':[0,1,2,3,4,5],
                        'dontTouch2':[0,1,2,3,4,5],
                        'sumThis':   [1,1,3,5,8,13]})


现在,虽然:

sum_all = df1 + df2
sum_sumThis = df1['sumThis'] + df2['sumThis']


…分别返回所有列和仅sumThis列的总和,我对创建新的DataFrame感兴趣,其中仅将sumThis加在一起。有没有整齐的内置函数?

我或者缺少明显的东西,否则将不得不使用混乱的切片方法。谢谢。

最佳答案

不太“整洁的内置函数”,但也不太“杂乱的切片方法”(IMHO):

df3 = df1.copy()
df3.sumThis += df2.sumThis
>>> df3
    dontTouch1  dontTouch2  sumThis
0   0   0   2
1   1   1   2
2   2   2   6
3   3   3   10
4   4   4   16
5   5   5   26

10-06 00:53