擅长:python、mysql、java
<p>您可以使用已排序的3个骨灰盒为每个骨灰盒创建一个字符串。<br/>
然后按这个新变量分组,并像以前一样使用ngroup()</p>
<pre class="lang-py prettyprint-override"><code>df['URN_join'] = df[['URN_1','URN_2','URN_3']].apply(lambda x: '_'.join([str(nb) for nb in sorted(x)]), axis=1)
df['clusterid'] = df.groupby(['URN_join']).ngroup()
df
</code></pre>
<p>输出:</p>
<pre><code> URN_1 URN_2 URN_3 clusterid URN_join
a 1 5 1 0 1_1_5
b 2 4 2 1 2_2_4
c 3 3 3 2 3_3_3
d 4 2 2 1 2_2_4
e 5 1 1 0 1_1_5
</code></pre>