python - compute the mean values over every n elements of different groups -


imagine have dataframe following in ipython:

df = pd.dataframe({     'a' : ['1', '1', '1', '1','1', '1', '2', '2', '2', '2', '2', '2'],     'b' : ['00:00', '00:10', '00:20', '00:30','01:10', '01:20','00:00', '00:10', '00:20', '00:30','01:10', '01:20',],     'c' : [2,3,4,2,4,5,6,7,1,5,6,4]} ) 

enter image description here

what need right side result: group on , compute mean on every 2(n) rows of each group. need large scale data set more 4k groups.

i tried used pandas , think useful library.

this solution work example

df.groupby(['a',(df.index/2).astype(int)])['c'].mean() 

edit : more versatile solution. independent of index :

g1 =(df.groupby(['a'])['b'].rank()/2).astype(int) df.groupby(['a',g1])['c'].mean() 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -