Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Group by consecutive index numbers

I was wondering if there is a way to groupby consecutive index numbers and move the groups in different columns. Here is an example of the DataFrame I'm using:

                 0 0     19218.965703 1     19247.621650 2     19232.651322 9     19279.216956 10    19330.087371 11    19304.316973 

And my idea is to gruoup by sequential index numbers and get something like this:

                 0             1 0     19218.965703  19279.216956     1     19247.621650  19330.087371 2     19232.651322  19304.316973 

Ive been trying to split my data by blocks of 3 and then groupby but I was looking more about something that can be used to group and rearrange sequential index numbers. Thank you!

like image 725
Gius Avatar asked Aug 29 '19 15:08

Gius


1 Answers

Here is one way:

from more_itertools import consecutive_groups final=pd.concat([df.loc[i].reset_index(drop=True)                      for i in consecutive_groups(df.index)],axis=1) final.columns=range(len(final.columns)) print(final) 

              0             1 0  19218.965703  19279.216956 1  19247.621650  19330.087371 2  19232.651322  19304.316973 
like image 194
anky Avatar answered Sep 24 '22 06:09

anky