Пример ниже:
import pandas as pd
list1 = ['a','a','a','b','b','b','b','c','c','c']
list2 = range(len(list1))
df = pd.DataFrame(zip(list1, list2), columns= ['Item','Value'])
df
дает:
обязательно: столбец GroupFirstValue, как показано ниже.
Идея состоит в том, чтобы использовать лямбда-формулу для получения «первого» значения для каждой группы. Например, первое значение «а» равно 0, Первое значение "b" равно 3, первое значение "c" равно 7. Вот почему эти цифры появляются в столбце GroupFirstValue.
Примечание. Я знаю, что могу сделать это в 2 этапа ... один является исходным df, а второй - сгруппированным по df и затем объединяет их вместе. Идея состоит в том, чтобы увидеть, можно ли сделать это более эффективно за один шаг. Большое спасибо заранее!