我有以下 Dataframe :
GID Similarity Score
71 100
71 100
132 100
132 40
132 100
132 40
104 35
104 35
112 0
114 0
我想在pandas dataframe中创建一个名为Unique ID的新列,如果GID相同且相似性得分为100,则必须分配相同的唯一ID。如果这些条件不匹配,则必须分配不同的唯一ID,我希望输出为以下格式:
GID Similarity Score UID
71 100 900
71 100 900
132 100 901
132 40 902
132 100 901
132 40 903
104 35 904
104 35 905
112 0 906
114 0 907
3条答案
按热度按时间sczxawaw1#
IIUC,您可以使用两步过程来获取100个值的组号,并单独计算另一个值的计数器:
输出:
yks3o0rb2#
@mozway解决方案很好,这里有一个替代方案:
68bkxrlz3#
如果不关心行的顺序,可以使用带条件的排序和cumsum函数来创建唯一的ID。
您还可以在之后通过索引进行resort以恢复行的顺序(尽管ID号不会跟随行顺序):