Используя Панд версию 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 .К счастью, это можно выразить одной инструкцией:
df.drop(columns=['CourseID']).join(course)
Если у вас есть более старая версия Pandas , это хорошая причина для ее обновления.