добавить значение следующей строки с текущей строкой pandas groupby id
У меня есть датафрейм как
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
Большое спасибо заранее
2 ответа
Решение
Давайте сделаем
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
Пытаться :
df['From to'] = df['last status'] + '->' + df['status']