假设我的数据帧有一列,我希望添加另一列来指示我的第i个元素在第一个i元素中是否唯一。我想要的结果是:
c1 c2
1 1
2 1
3 1
2 0
1 0
例如,1在{1}
中是唯一的,2在{1,2}
中是唯一的,3在{1,2,3}
中是唯一的,2在{1,2,3,2}
中不唯一,1不是{1,2,3,2,1}
中的唯一身份。
这是我的代码,但由于我有近100万行,因此运行得非常慢。
for(i in 1:nrow(df)){
k <- sum(df$C1[1:i]==df$C1[i]))
if(k>1){df[i,"C2"]=0}
else{df[i,"C2"]=1}
}
有没有更快的方法来实现这个目标?
答案 0 :(得分:1)
以下作品:
conf = {'app_id1': {'key1' : 'val', 'key2' : 'val'},
'app_id2' : {'key1' : 'val', 'key2' : 'val'}
}
或者,如果您更喜欢更明确的代码(我这样做,但在这种情况下它更慢):
x$c2 = as.numeric(! duplicated(x$c1))