擅长:python、mysql、java
<p>想法是将具有<code>id</code>值的列转换为称为frozensets的散列集,这样就可以通过<a href="http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing" rel="nofollow noreferrer">^{<cd3>}</a>中带有反转掩码的<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.duplicated.html" rel="nofollow noreferrer">^{<cd2>}</a>进行筛选:</p>
<pre><code>df = df[~df.filter(like='id').apply(frozenset, axis=1).duplicated()]
#for test all columns without first
#df = df[~df.iloc[:, 1:].apply(frozenset, axis=1).duplicated()]
print (df)
email id1 id2 id3
0 de@l Z7 Q4 Q4
4 endo@c D8 D8 L1
</code></pre>
<p>列表理解的备选方案:</p>
<pre><code>L = [frozenset(x) for x in df.filter(like='id').to_numpy()]
df = df[~pd.Series(L, index=df.index).duplicated()]
</code></pre>