Python 基于大小相等的分组设置列值

Python 基于大小相等的分组设置列值,python,pandas,Python,Pandas,我想在数据框中添加一列,按相等的行数对其进行分组 例如: import numpy as np import pandas as pd df = pd.DataFrame ( data = {'A':[11, 12, 13, 14, 15], 'B':[16, 17, 18, 19, 20 ] } ) df Out[3]: A B 0 11 16 1 12 17 2 13 18 3 14 19 4 15 20 对于组大小2,我希望: A B

我想在数据框中添加一列,按相等的行数对其进行分组

例如:

import numpy as np
import pandas as pd

df = pd.DataFrame ( data = {'A':[11, 12, 13, 14, 15], 'B':[16, 17, 18, 19, 20 ] } )
df

Out[3]: 
    A   B
0  11  16
1  12  17
2  13  18
3  14  19
4  15  20
对于组大小2,我希望:

    A   B   Group
0  11  16     0
1  12  17     0
2  13  18     1
3  14  19     1
4  15  20     2
我试过:

step = 2
df[ 'group' ] = -1
for i in range ( 0, int ( df.shape[0] / step ) ):
    df[ i * step: ( i + 1 ) * step ]['group'] = i
但组的初始值为-1时不会改变,然后使用
df的长度切片

df["Group"] = df.index.repeat(2)[:len(df)]
df
    A   B  Group
0  11  16      0
1  12  17      0
2  13  18      1
3  14  19      1
4  15  20      2
很简单:

for i in range ( 0, df.shape[0]):
    df [ 'group' ][i] = int ( i / step )

使用
df['group']=np.arange(len(df))//step