Я вижу у вас за столом, и для поиска max_pct_change
вы можете использовать DataFrame.max и попробовать следующий код:
df=pd.DataFrame({'shift1':[np.nan,0.1549,-0.1012,0.0563,0.0731],
'shift2':[np.nan,np.nan,0.0535,-0.0450,0.1295],
'shift3':[np.nan,np.nan,np.nan,0.1098,0.0281]})
print(df)
df['max_pct_change']=df.apply(max, axis=1)
print(df)
Выход:
shift1 shift2 shift3
0 NaN NaN NaN
1 0.1549 NaN NaN
2 -0.1012 0.0535 NaN
3 0.0563 -0.0450 0.1098
4 0.0731 0.1295 0.0281
shift1 shift2 shift3 max_pct_change
0 NaN NaN NaN NaN
1 0.1549 NaN NaN 0.1549
2 -0.1012 0.0535 NaN 0.0535
3 0.0563 -0.0450 0.1098 0.1098
4 0.0731 0.1295 0.0281 0.1295
Надеюсь, это поможет вам.