如何在Pandas中将同一主键下的多值列拆分为多行?
Pandas实现多值列拆分多行
你可以通过str.split()结合explode()方法快速实现这个需求,具体步骤如下:
1. 创建示例数据集
首先还原你的输入数据:
import pandas as pd df = pd.DataFrame( data={ 'ID': ['1','2','3'], 'Genre': ['Adventure|Children|Fantasy','Horror','Comedy|Drama'] } )
2. 拆分并展开多值列
使用str.split('|')将Genre列按|分割为列表,再调用explode()方法把列表中的每个元素拆分为单独行,同时保留对应的ID:
df_result = df.assign(Genre=df['Genre'].str.split('|')).explode('Genre')
3. 查看结果
执行上述代码后,df_result的输出就是你想要的格式:
ID Genre 0 1 Adventure 0 1 Children 0 1 Fantasy 1 2 Horror 2 3 Comedy 2 3 Drama
(注:如果需要重置索引,可以额外添加.reset_index(drop=True))
内容的提问来源于stack exchange,提问作者beridzeg45
相关产品推荐
相关产品推荐

