Я анализирую набор данных с информацией от футболистов. У меня есть имя футболиста, его клуб и все навыки. Я хочу получить среднее значение всех игроков из клуба и проверить, в каком мастерстве клуб лучше. Например, в каком клубе самые быстрые игроки, самые высокие игроки и т. Д.
Вот как выглядят мои данные:
import pandas as pd
df = pd.DataFrame(
{
"Club": ["Palmeiras", "SPFC", "Corinthians", "Palmeiras", "SPFC"],
"Player": ["FFFFF", "EEEE", "DDDD", "CCCC", "BBBB"],
"Balance": [70, 80, 90, 50, 60],
"Speed": [90, 89, 70, 88, 80],
"Aggression": [70, 74, 80, 85, 66],
}
)
В этом примере я получаю клуб с самой высокой средней скоростью:
print("Club with highest speed: " + df.groupby("Club")["Speed"].mean().reset_index().sort_values("Speed", ascending=False).iloc[0, 0])
Я хочу напечатать одно и то же для всех навыков: клуб с максимальной скоростью, клуб с самым высоким балансом и так далее. Я думал, что смогу использовать что-то похожее на то, что я делал в других случаях с df.iterrows()
, однако мне трудно комбинировать это с функцией groupby
.
Я также нашел этот пример Как перебрать сгруппированный массив данных Pandas? , но у меня это не сработало.