IIU C, попробуйте это с помощью этого MCVE:
df = pd.DataFrame({'col1':[1,2,3,'A','A'],'col2':['A','A','A','Z','Z'], 'col3':['Z','Z','Z', np.nan, np.nan]})
#col1 col2 col3
#0 1 A Z
#1 2 A Z
#2 3 A Z
#3 A Z NaN
#4 A Z NaN
m = df['col1'] == 'A'
df[m] = df[m].shift(1, axis=1)
Выход:
col1 col2 col3
0 1 A Z
1 2 A Z
2 3 A Z
3 NaN A Z
4 NaN A Z