给定以下数据框:
import pandas as pd
d=pd.DataFrame({'label':[1,2,2,2,3,4,4],
'values':[3,5,7,2,5,8,3]})
d
label values
0 1 3
1 2 5
2 2 7
3 2 2
4 3 5
5 4 8
6 4 3
我知道如何计算这样的唯一值:
d['dup']=d.groupby('label')['label'].transform('count')
结果是:
label values dup
0 1 3 1
1 2 5 3
2 2 7 3
3 2 2 3
4 3 5 1
5 4 8 2
6 4 3 2
但我想要的是一个具有以下值的列:1
如果有1 unique
每个标签列的行,2
如果有duplicates
有问题的行是first
这样的,以及0
如果该行是duplicate
一个原创的。像这样:
label values dup status
0 1 3 1 1
1 2 5 3 2
2 2 7 3 0
3 2 2 3 0
4 3 5 1 1
5 4 8 2 2
6 4 3 2 0
提前致谢!