<p>您可以在将列拆分为两个值的列表后使用<code>.explode()</code>来解决这个问题</p>
<pre><code>import pandas as pd
import numpy as np
from pandas.io.json import json_normalize
d = {'<Name>':['FIL9791','FIL9799','FIL4056','FIL4056','FIL4057'],'<Item To Package>':['package_113572195;package_113594355','package_113572197;package_113594357','package_113566689;package_113591417','package_113566688;package_113591416','package_113566690;package_113591418']}
df = pd.DataFrame(data=d)
df['<Item To Package>'] = df['<Item To Package>'].str.split(';')
df = df.explode('<Item To Package>')
print(df)
</code></pre>
<p>输出:</p>
<pre><code> <Name> <Item To Package>
0 FIL9791 package_113572195
0 FIL9791 package_113594355
1 FIL9799 package_113572197
1 FIL9799 package_113594357
2 FIL4056 package_113566689
2 FIL4056 package_113591417
3 FIL4056 package_113566688
3 FIL4056 package_113591416
4 FIL4057 package_113566690
4 FIL4057 package_113591418
</code></pre>
<p>请记住<code>explode()</code>保留所应用列的原始索引。因此,如果您希望重置索引,因为您不需要它们来匹配原始索引。您可以添加:</p>
<pre><code>df = df.reset_index(drop=True)
print(df)
</code></pre>
<p>输出:</p>
<pre><code> <Name> <Item To Package>
0 FIL9791 package_113572195
1 FIL9791 package_113594355
2 FIL9799 package_113572197
3 FIL9799 package_113594357
4 FIL4056 package_113566689
5 FIL4056 package_113591417
6 FIL4056 package_113566688
7 FIL4056 package_113591416
8 FIL4057 package_113566690
9 FIL4057 package_113591418
</code></pre>