How to reshape every nth row's data using pandas?

后端 未结 3 1631
余生分开走
余生分开走 2021-01-26 18:37

I need help in reshaping a data in csv file that have over 10000 row by 10 each. For example I have this csv file :

Ale Brick
1   ww
2   ee
3   qq
3   xx
5   dd
         


        
3条回答
  •  不思量自难忘°
    2021-01-26 19:15

    You need to make use of the modulo operator to "batch" reshape your column. You're on the right track. You just need another iterator to do the modulo operation.

    import pandas as pd
    
    df = pd.DataFrame({'brick': ['xx','yy','xa','bd','ev','bb','oo','pp','qq','bn','nv','bn','rr','qw','bn','cd','fd','bv','nm','ty']})
    
    start = 0  # set start to 0 for slicing
    for i in range(len(df.index)):
        if (i + 1) % 10 == 0:  # the modulo operation
            result = df['brick'].iloc[start:i+1].reshape(2,5)
            print result
            start = i + 1  # set start to next index
    

    Output:

    [['xx' 'yy' 'xa' 'bd' 'ev']
     ['bb' 'oo' 'pp' 'qq' 'bn']]
    [['nv' 'bn' 'rr' 'qw' 'bn']
     ['cd' 'fd' 'bv' 'nm' 'ty']]
    

提交回复
热议问题