Мой учитель ответил:
Определите дополнительную функцию для выполнения вычислений:
def f_normalisation(df, col):
select_df = df.loc[:, col]
x_min = select_df.min()
x_max = select_df.max()
# possible ZeroDivisionError error if x_max = x_min
df.loc[:, col] = (select_df - x_min) / (x_max - x_min)
return df
Затем примените функцию к фрейму данных, сгруппированному по PClass
.
df.groupby("Pclass").apply(f_normalisation, col=col)