Получение среднего значения для каждой группы панд данных - PullRequest
0 голосов
/ 13 ноября 2018

Мне удалось очистить futbin.com для ценовых данных временных рядов игроков ФИФА 19. Теперь у меня более 200 000 строк с данными об игроке и ценах. Для каждого игрока у меня есть около 17 разных цен (с соответствующей отметкой времени) .

Теперь я хотел бы создать новый информационный фрейм только с одной строкой на игрока, и цена должна быть средней ценой за определенный период времени для этого конкретного игрока. Каждый игрок имеет уникальный номер "Futbin_ID". До сих пор я не мог понять, как это сделать ... Буду очень признателен, если кто-нибудь сможет мне помочь ...

1 Ответ

0 голосов
/ 13 ноября 2018

Вы хотите сгруппировать его по Fubin_ID, а затем найти среднее значение для каждой группировки:

avg_price = df_ts.groupby('Futbin_ID')['price'].agg(np.mean)

Если вы хотите, чтобы ваш фрейм данных содержал и другие столбцы, вы можете удалить дубликаты в оригинале, кроме первого, и заменить значение цены на среднее:

df_ts.drop_duplicates(subset="Futbin_ID", keep="first", inplace= True)
df_ts.join[avg_price.set_index("Fubin_ID"), on="Futbin_ID"]

Вы можете узнать больше о groupby здесь: https://www.tutorialspoint.com/python_pandas/python_pandas_groupby.htm

...