#python #pandas #group-by #append #row-value-expression
#python #pandas #группировать по #добавить #строка-значение-выражение
Вопрос:
У меня есть фрейм данных в виде
id status
1 owner
1 retail
1 shop
1 customer
2 owner
2 retail
Я создал новый столбец последнего статуса, например
id status Last status
1 owner NA
1 retail owner
1 shop retail
1 customer shop
2 owner NA
2 retail owner
Но я хочу создать столбец потока, т.е. Добавить последний статус со следующим значением, например
id status From To
1 owner NA
1 retail owner -> retail
1 shop retail -> shop
1 customer shop -> customer
2 owner NA
2 retail owner -> retail
Заранее большое спасибо
Ответ №1:
Давайте сделаем groupby
shift
и объединим со status
столбцом:
df['From to'] = df.groupby('id')['status'].shift() ' -> ' df['status']
id status From to
0 1 owner NaN
1 1 retail owner -> retail
2 1 shop retail -> shop
3 1 customer shop -> customer
4 2 owner NaN
5 2 retail owner -> retail
Ответ №2:
попробуйте:
df['From to'] = df['last status'] '->' df['status']