擅长:python、mysql、java
<p>与<code>defaultdict</code></p>
<pre><code>from collections import defaultdict
d = defaultdict(list)
for f, c, s in df.itertuples(index=False):
d[(f, c)].append(s)
pd.DataFrame.from_dict(
{k: dict(enumerate(v)) for k, v in d.items()}, orient='index'
).add_prefix('subcode').rename_axis(['fruit', 'code']).reset_index()
fruit code subcode0 subcode1 subcode2
0 berries 100 100A 100B 100C
1 berries 400 400A NaN NaN
2 nuts 500 500A NaN NaN
3 tropical 200 200A 200B NaN
4 tropical 300 300A NaN NaN
</code></pre>