РЕДАКТИРОВАТЬ : Обновлено в соответствии с комментариями gereleth . Вы можете упростить его еще больше!
file['bb'] = file.Temperature - file.aa
Поскольку мы уже вычислили среднее значение в столбце aa
, мы можем просто повторно использовать этот столбец, чтобы вычислить разницу между Temperature
и aa
столбец каждой строки, используя pandas применить метод , как показано ниже:
file["aa"] = file.groupby(['City'])["Temperature"].transform(np.mean)
display(file.sample(10))
file["bb"] = file.apply(lambda row: row['Temperature'] - row['aa'], axis=1)
display(file.sample(10))
Если вы хотите вычесть среднее значение температуры по всем городам, вы можете использовать среднее значение в столбце aa
:
file["aa"] = file.groupby(['City'])["Temperature"].transform(np.mean)
display(file.sample(10))
avg_all_cities = file['aa'].mean()
file["bb"] = file.apply(lambda row: row['Temperature'] - avg_all_cities, axis=1)
display(file.sample(10))