如果尚不清楚,请先在这里发表歉意。我有一个pandas数据框,正在尝试为列中每个唯一值的第一个实例返回1,并为第一个唯一实例后的每个重复值返回0。

在Excel中,我使用了以下公式,但在较大的数据框上它将变得站不住脚。

=IF(COUNTIF($A$2:A2,A2)=1,1,0)

ID  Unique
ABC1    1
ABC1    0
ABC1    0
ABC2    1
ABC3    1
ABC3    0
ABC4    1

最佳答案

使用duplicated的取反:

df['unique'] = (~df.ID.duplicated()).astype(int)
print(df)


输出量

     ID  unique
0  ABC1       1
1  ABC1       0
2  ABC1       0
3  ABC2       1
4  ABC3       1
5  ABC3       0
6  ABC4       1

关于python - Python:计算具有重复值的列中每个唯一值的第一个实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59057640/

10-13 07:38