Python:按列和组大小分组

Python:按列和组大小分组,python,pandas,Python,Pandas,我有一个数据框: column1 column2 1 1 1 2 1 3 1 4 1 5 2 6 2 7 3 8 需要按第1列对其进行分组,但如果组中有2个以上的元素,则将其除以。然后应用一个ngroup函数,结果是: column1 column2 column3

我有一个数据框:

column1     column2
   1           1
   1           2
   1           3
   1           4
   1           5
   2           6
   2           7
   3           8
需要按第1列对其进行分组,但如果组中有2个以上的元素,则将其除以。然后应用一个ngroup函数,结果是:

column1     column2     column3
   1           1           0
   1           2           0
   1           3           1
   1           4           1
   1           5           2
   2           6           3
   2           7           3
   3           8           4
对于帮助程序
Series
使用整数除以
2
,并传递到
groupby
用于:


这是我第一次看到你的帖子,但我已经很喜欢了:P
s = df.groupby('column1').cumcount() // 2

df['column3'] = df.groupby([s, 'column1'], sort=False).ngroup()
print (df)
   column1  column2  column3
0        1        1        0
1        1        2        0
2        1        3        1
3        1        4        1
4        1        5        2
5        2        6        3
6        2        7        3
7        3        8        4