<p>您可以使用<code>filter</code>选择其中包含Contact的列,然后使用<code>str.contains</code>和右边的<a href="https://stackoverflow.com/a/50148909/9274732">pattern for email address</a>,最后您希望每行有<code>any</code>,因此:</p>
<pre><code>#data sample
df_merged = pd.DataFrame({'id': [0,1,2,3],
'Store A': list('abcd'),
'Store Contact A':['aa@bb.cc', '', 'e', 'f'],
'Store B': list('ghij'),
'Store B Contact':['kk@ll.m', '', 'nn@ooo.pp', '']})
# define the pattern as in the link
pat = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"
# create the column as wanted
df_merged['Contact has Email'] = df_merged.filter(like='Contact')\
.apply(lambda x: x.str.contains(pat))\
.any(1)
print (df_merged)
id Store A Store Contact A Store B Store B Contact Contact has Email
0 0 a aa@bb.cc g kk@ll.m True
1 1 b h False
2 2 c e i nn@ooo.pp True
3 3 d f j False
</code></pre>