Как вы можете манипулировать файлами данных на нескольких уровнях с помощью groupby? Я хочу быть в состоянии сделать что-то вродеИерархическая группировка в pandas
data.groupby ('col1'). GroupBy ([ 'col2', 'col3']). Применить (Foo) .Не (бар)
образец данных:
user_id year day hour events
0 1928375096 2015 196 0 6
1 734605009 2016 32 21 1
2 3333305045 2016 29 5 3
3 698115442 2016 30 7 11
4 685465592 2016 26 12 3
5 485945404 2016 24 10 4
6 73202588 2016 25 3 1
7 4380205067 2016 25 8 1
8 408502597 2016 32 9 1
9 584885164 2016 32 10 3
Скажем col1 = user_id, col2 = 'год', cOL3 = 'день', таким образом, мы получаем количество строк для каждого пользователя, на каждый день (до 24). Мы хотим сначала запустить foo на события; например, foo(x) = (x-x.mean())/x.std()
, то мы хотим сократить временные ряды каждого пользователя до скаляра с помощью bar
. Результирующий кадр данных должен содержать одну строку для каждого пользователя.
Это эквивалентно 'data.groupby (['col1', 'col2', 'col3'])', no? У вас будет больше удачи, если вы опубликуете [MVCE] (http://stackoverflow.com/help/mcve). – TomAugspurger
Как функции 'foo' и' bar' вводят вашу формулировку, @TomAugspurger? – Emre
Что такое 'foo' и' bar'? Вы не определили их или «данные». – TomAugspurger