<h4>步骤</h4>
<ol>
<li><p>创建<code>mapping dict</code>反向展开并将<code>product_type_name</code>映射到其类别</p>
</li>
<li><p>使用<code>pd.cut</code>创建<code>high/medium/low</code>标签</p>
</li>
<li><p>使用<code>pivot_table</code>和<code>aggfunc</code>=''.join重组df</p>
</li>
</ol>
<pre><code>d = {'Packaging ': ['Paper Lunch Box', 'Plastic Cup'],
'Marketing Materials': ['Poster', 'Sticker'],
'Office Supplies': ['Name Card', 'Calendar', 'Lanyard'],
'Merchandise': ['Tote Bag', 'T-Shirt']}
df['category'] = df['product_type_name'].map(
{i: k for k, v in d.items() for i in v})
df['rules'] = pd.cut(df.order_count, bins=[0, 5, 9, np.inf],
labels=['Low', 'Medium', 'High'])
df = df.pivot_table(index='category', columns='rules',
values='product_type_name', aggfunc=', '.join)
</code></pre>
<h4>输出:</h4>
<pre><code>rules Low Medium \
category
Marketing Materials NaN NaN
Merchandise NaN NaN
Office Supplies Calendar NaN
Packaging NaN Paper Lunch Box, Plastic Cup
rules High
category
Marketing Materials Poster, Sticker
Merchandise T-Shirt, Tote Bag
Office Supplies Lanyard, Name Card
Packaging NaN
</code></pre>