擅长:python、mysql、java
<p>您可以将这两个列放在一起,对这些对进行排序,然后将行放到这些已排序的对上:</p>
<pre><code>df['together'] = [','.join(x) for x in map(sorted, zip(df['term_x'], df['term_y']))]
df.drop_duplicates(subset=['together'])
Out[11]:
term_x Intersections term_y together
0 boxers 1 briefs boxers,briefs
2 babies 6 costumes babies,costumes
4 babies 12 clothes babies,clothes
6 babies 1 clothings babies,clothings
</code></pre>
<p>编辑:你说时间是这个问题的一个重要因素。以下是我和Allen在20万行数据帧上的解决方案比较的一些时间安排:</p>
^{pr2}$
<p>如你所见,我的方法快98%以上。<code>pandas.DataFrame.apply</code>在许多情况下都很慢。在</p>