I'm hoping to subtract columns where a separate column is equal to a specific value. For instance, where Val == A
, I want to subtract A - B
. However, where Val == B
, I want to subtract B - A
.
df = pd.DataFrame({
'Val' : ['A','B','A','B','A','B'],
'A_1' : [1, 2, 3, 4, 5, 6],
'A_2' : [2, 3, 4, 5, 6, 1],
'B_1' : [6, 5, 4, 3, 2, 1],
'B_2' : [6, 5, 4, 3, 2, 1],
})
for x in df['Val']:
if x == 'A':
df['1_Sum'] = df.iloc[:,-4] - df.iloc[:,-2]
df['2_Sum'] = df.iloc[:,-4] - df.iloc[:,-2]
elif x == 'B':
df['1_Sum'] = df.iloc[:,-2] - df.iloc[:,-4]
df['2_Sum'] = df.iloc[:,-2] - df.iloc[:,-4]
Intended output:
Val A_1 A_2 B_1 B_2 1_Sum 2_Sum
0 A 1 2 6 6 -5 -4
1 B 2 3 5 5 3 2
2 A 3 4 4 4 -1 0
3 B 4 5 3 3 -1 -2
4 A 5 6 2 2 3 4
5 B 6 1 1 1 -5 0