Создание сводной таблицы в пандах найти 5 крупнейших и группирование в тот же месяц - PullRequest
0 голосов
/ 24 октября 2019

я хочу найти 5 наибольшее значение и отобразить в столбце, какой день, значение в каждом месяце

это то, что я уже пробовал

ticker  day price
0   000020.KR   2008-01-07  11120.0
1   000020.KR   2008-01-09  11060.0
2   000020.KR   2008-01-08  11040.0
3   000020.KR   2008-01-04  10960.0
4   000020.KR   2008-01-03  10880.0

это мой код

df = pd.read_sql_query(query, engine)
df['day'] = pd.to_datetime(df['day'])
per = df.day.dt.to_period("M")
g = df.groupby(['ticker',per])
a=g.apply(lambda x: x.nlargest(5,['price'])).reset_index(drop=True)
data = a
data

что я хочу, чтобы вывод был таким

ticker     month   2008-01-07  2008-01-09  2008-01-08  2008-01-04  2008-01-03
000020.KR  2008-01  11120.0     11060.0     11040.0     10960.0     10880.0

как это сделать ??

...