我的数据帧
A B C D
2 3 4 5
1 4 5 6
5 6 7 8
如何添加不同行和不同列的值
- 列A第2行,列B第1行
- A列第3行,B列第2行
类似地,对于所有行
如果您只需要对两列执行此操作(我很理解您的问题(,我认为您可以使用shift函数。
您的数据帧(pandas?(类似于:
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
但这只是一种直觉,我不确定你的问题!