Предположим, у меня есть dataframe следующим образом:Применение различных функций для различных элементов в объекте группы: Python панды
In [1]: test_dup_df
Out[1]:
exe_price exe_vol flag
2008-03-13 14:41:07 84.5 200 yes
2008-03-13 14:41:37 85.0 10000 yes
2008-03-13 14:41:38 84.5 69700 yes
2008-03-13 14:41:39 84.5 1200 yes
2008-03-13 14:42:00 84.5 1000 yes
2008-03-13 14:42:08 84.5 300 yes
2008-03-13 14:42:10 84.5 88100 yes
2008-03-13 14:42:10 84.5 11900 yes
2008-03-13 14:42:15 84.5 5000 yes
2008-03-13 14:42:16 84.5 3200 yes
Я хочу, чтобы сгруппировать дубликата данные во время 14:42:10
и применять различные функции exe_price
и exe_vol
(например, , суммируйте exe_vol
и вычислите средневзвешенное значение объема exe_price
). Я знаю, что я могу сделать
In [2]: grouped = test_dup_df.groupby(level=0)
сгруппировать повторяющиеся индексы, а затем использовать first()
или last()
функции, чтобы получить первый или последний ряд, но это не совсем то, что я хочу.
Есть ли способ группировки, а затем применить различные (написанные мной) функции к значениям в разных столбцах?
это не дало бы мне два отдельных dataframe? Я хотел бы иметь его в одной фрейме данных (аналогично выводу grouped.first() или grouped.last()). Может быть, я что-то пропустил? – kunitomo