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