<p>选项1:使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html" rel="nofollow noreferrer">^{<cd1>}</a>的优雅解决方案</p>
<pre><code>import pandas as pd
data = {'jobtitle': ['job scientist', 'job is engineer', 'job analyst', 'hey nothing']}
glassdoor = pd.DataFrame(data)
# Find and replace those meeting jobs key words
for job_option in ['engineer', 'analyst', 'scientist']:
glassdoor.loc[(glassdoor['jobtitle'].str.contains(job_option), 'job_cat')] = job_option
# Fill NaN with other
glassdoor['job_cat'] = glassdoor['job_cat'].fillna("other")
# Print the output.
print(glassdoor)
</code></pre>
<p>输出:</p>
<pre><code> jobtitle job_cat
0 job scientist scientist
1 job is engineer engineer
2 job analyst analyst
3 hey nothing other
</code></pre>
<p><em><strong>选项2:多次使用<code>np.where</code></strong></em></p>
<pre><code>glassdoor['job_cat'] = np.where(glassdoor['Jobtitle'].str.contains('analyst'), 'analyst', np.where(glassdoor['Jobtitle'].str.contains('scientist'), 'scientist', np.where(glassdoor['Jobtitle'].str.contains('engineer'), 'engineer', 'other')))
</code></pre>