擅长:python、mysql、java
<ul>
<li><code>stack</code>变成一个系列</li>
<li><code>str.contains</code>获取子字符串的真值</li>
<li><code>unstack</code>返回dataframe</li>
<li>子集结果以确保至少一个匹配</li>
<li><code>idxmax(1)</code>得到列中的第一个<code>True</code></li>
</ul>
<hr/>
<pre><code>def find_subtext(df, txt):
contains = df.stack().str.contains(txt).unstack()
return contains[contains.any(1)].idxmax(1)
</code></pre>
<hr/>
^{pr2}$
<hr/>
<pre><code>df.assign(abc=find_subtext(df, 'abc'))
c_name f_name abc
0 abc abc12 c_name
1 xyz abc1 f_name
2 mnq mnq2 NaN
</code></pre>