答案 0 :(得分:0)
使用 Pandas 版本 0.25 很容易:
第一步是拆分 df.CourseID (将每个元素转换为列表) 然后爆炸(将每个列表分成多行, 在每行中重复其他列):
course = df.CourseID.str.split(',').explode()
结果是:
0 456
1 456
1 799
2 789
Name: CourseID, dtype: object
然后,所有要做的就是将 df 和 course 加入,但是为了避免 重复列名称,则必须先删除原始的 CourseID 列。 幸运的是,in可以用一条指令表示:
df.drop(columns=['CourseID']).join(course)
如果您使用的是 Pandas 的旧版本,这是一个很好的理由 升级。