Я хотел бы добавить столбец в файл Excel, который показывает квартиль пробегов, но рассчитывает квартили для каждой команды.
У меня есть необработанные данные в Excel, которые похожи на данные ниже:
Team date runs_scored
team1 4/1 4
team1 4/2 0
team1 4/3 5
team1 4/4 0
team1 4/5 6
team1 4/6 3
team1 4/7 7
team1 4/8 11
team2 4/1 13
team2 4/2 11
team2 4/3 12
team2 4/4 0
team2 4/5 1
team2 4/6 3
team2 4/7 7
team3 4/8 9
Я попробовал следующий код, но он рассчитывает квартиль, используя всю базу данных вместо команды.
import pandas as pd
df = pd.read_excel('C:\\Users\\Documents\\quartile_test.xlsx')
df['quartile']=pd.qcut(df['runs_scored'],4,labels=False)
Я также попробовал утверждение (df.groupby('Team')['runs_scored'].quantile([0,0.25,0.5,0.75,1]))
, и оно дает мне правильные отсечения квартилей по командам, но не дает мне квартиль для каждой записи.
Я надеялся, что результат будет выглядеть так:
Team date runs_scored quartile
team1 4/1 4 2
team1 4/2 0 1
team1 4/3 5 3
team1 4/4 0 1
team1 4/5 6 3
team1 4/6 3 2
team1 4/7 7 4
team1 4/8 11 4
team2 4/1 13 4
team2 4/2 11 3
team2 4/3 12 4
team2 4/4 0 1
team2 4/5 1 1
team2 4/6 3 2
team2 4/7 7 2
team3 4/8 9 3