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