Как вести ряд в пандах в зависимости от состояния столбца? - PullRequest
0 голосов
/ 27 сентября 2019

enter image description here У меня есть фрейм данных pandas, и я хотел бы продублировать те строки, которые удовлетворяют некоторому условию столбца (т. Е. Иметь несколько элементов в столбце CourseID)

Я попытался выполнить итерациюфрейм данных для идентификации строк, которые должны быть продублированы, но я не знаю, как их дублировать,

Here is the link to the expected output

1 Ответ

0 голосов
/ 27 сентября 2019

Используя Панд версию 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 , это хорошая причина для ее обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...