擅长:python、mysql、java
<p>让我们使用<code>stack</code>+<code>extract</code>:</p>
<pre><code>df['D'] = df.stack().str.extract(r'(.* oil)').groupby(level=0).first()[0]
df
A B C D
0 dirty gas crude oil dirty water crude oil
1 dirty water fuel gas dirty gas NaN
2 dirty water fuel gas dirty oil dirty oil
3 fuel oil crude water crude gas fuel oil
4 dirty water fuel oil dirty water fuel oil
5 crude oil fuel water dirty oil crude oil
6 fuel water crude gas crude water NaN
</code></pre>