Как создать новый столбец на основе информации в другом столбце?

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

Я пытаюсь создать новый столбец в panda dataframe. У меня есть имена в одном столбце, я хочу получить номера для них в новом столбце. Если имя повторяется последовательно, они получают один и тот же номер, если они повторяются после разных имен, тогда они должны получить другой номер

Например, мой df выглядит так

 Name/
Stephen
Stephen
Mike 
Carla
Carla
Stephen
  

мой новый столбец должен быть

 Numbers/
0
0
1
2
2
3
  

Извините, я не смог вставить сюда свой фрейм данных.

Ответ №1:

Попробуйте:

 df['Numbers'] = (df['Name'] != df['Name'].shift()).cumsum() - 1
  

Вывод:

       Name  Numbers
0  Stephen        0
1  Stephen        0
2     Mike        1
3    Carla        2
4    Carla        2
5  Stephen        3
  

Комментарии:

1. Спасибо! Ты гений!