擅长:python、mysql、java
<h3>单一标准</h3>
<p>如果只想用“杂项”更新行:</p>
<pre><code>d = {'Helipad': 'Transport Services',
'Restaurant': 'Fooding & Lodging Services'}
mask = data['CATEGORY'] == 'Miscellaneous'
df.loc[mask, 'CATEGORY'] = df.loc[mask, 'SUB_CAT'].map(d)
</code></pre>
<h3>多标准</h3>
<p>构造一个字典,其结构将条件映射到值:</p>
<pre><code>d = {('Miscellaneous', 'Helipad'): 'Transport Services',
('Miscellaneous', 'Restaurant'): 'Fooding & Lodging Services'}
</code></pre>
<p>然后使用<code>pd.Series.map</code>:</p>
<pre><code># extract series of tuples
tups = data.set_index(['CATEGORY', 'SUB_CAT']).index.to_series()
# alternatively:
# tups = pd.Series(list(zip(data['CATEGORY'], data['SUB_CAT'])))
# map series to values
data['CATEGORY'] = tups.map(d).fillna(data['CATEGORY'])
</code></pre>