擅长:python、mysql、java
<p>你可以做:</p>
<pre><code># list down all the variations of accepted email domains
email_adds = ['@abc.com','@ABC.COM','@Abc.com']
# combine the variations of email addresses in the list
accepted_emails = '|'.join(email_adds)
# create a single email column
melted = df.melt('personid')
# check the matching emails
mask = melted['value'].str.contains(accepted_emails, na=True)
# filter out the ones that do not match
mask = df['personid'].isin(melted.loc[~mask, 'personid'])
print(df[mask])
</code></pre>
<p><strong>输出</strong></p>
<pre><code> personid sup1_email ... sup3_email sup4_email
4 65 evan.o@abc.com ... john.s@abc.com sally.j@ABC.com
5 89 dom.q@ABC.com ... topher.u@abc.com ross.k@qqpower.com
[2 rows x 5 columns]
</code></pre>