Предположим, у меня есть следующая таблица в CSV.
elementID | groupID | sequence
abc | A | 0
dcv | A | 1
asd | B | 1
ccc | B | 0
abc | B | 2
Я импортировал эту таблицу в Pandas
как DataFrame.
Из этого DataFrame мне нужно создать еще один, где каждая запись представляет два двух последовательных элемента elementID
.
Например, что-то вроде следующего
elementID_1 | elementID_2 | groupID
abc | dcv | A
asd | abc | B
ccc | asd | B
Сначала я подумал о выделении из нескольких строк, но не мог понять, как это сделать.
Поэтому я решил сделать шаг за шагом, создавая один столбец за раз.
Сначала я создал столбец elementID_2
следующим образом
new_df = pd.DataFrame()
new_df[["elementID_2", "sequence", "groupID"]] = old_df.loc[old_df.loc.sequence>1][["elementID", "sequence", "groupID"]]
Теперь, чтобы создать столбец elementID_1
, я бы хотел сопоставить записи старого фрейма данных со значением sequence
, значением sequence
нового DataFrame минус 1 и одинаковым groupdID
между двумя DataFrame. .
Как я могу это сделать?