第一次在这里发帖,如果不清楚,请道歉。我有一个 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:计算具有重复值的列中每个唯一值的第一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59057640/