将不同行和列中的值求和

时间:2018-12-10 13:24:56

标签: python dataframe compare

我的数据框

A B C D  
2 3 4 5  
1 4 5 6  
5 6 7 8  

如何添加不同行和不同列的值

  • A列第2行和B列第1行
  • A列第3行和B列第2行

所有行类似

1 个答案:

答案 0 :(得分:0)

如果您只需要在两列中进行操作(并且我很好地理解了您的问题),我认为您可以使用shift函数。

您的数据框(熊猫?)是这样的:

d = {'A': [2, 1, 5], 'B': [3, 4, 6], 'C': [4, 5, 7], 'D':[5, 6, 8]}
df = pd.DataFrame(data=d)

因此,可以创建一个新的数据帧,其中B列移位了:

df2 = df['B'].shift(1)

给出:

0    NaN
1    3.0
2    4.0
Name: B, dtype: float64

,然后将此新数据与先前的df合并,例如,求和:

df = df.join(df2, rsuffix='shift')
df['out'] = df['A'] + df['Bshift']

最终输出在out列中:

    A   B   C   D   Bshift  out
0   2   3   4   5   NaN     NaN
1   1   4   5   6   3.0     4.0
2   5   6   7   8   4.0     9.0

但这只是一种直觉,我不确定您的问题!