Используя python calendar
stdlib, вы можете конвертировать "Месяцы" в числовое значение.Это позволяет нам упорядочивать строки на основе значения «Месяц».
import calendar
mapping = {calendar.month_abbr[k]: k for k in range(1, 13)}
u = df.assign(Month=df.Month.map(mapping))
u
Month Name Revenue EARLY_MIN
0 1 A 100 ?
1 1 A 50 ?
2 2 A 30 ?
Теперь вы можете использовать groupby
и idxmin
или что-то подобное.
idx = (u['Revenue'].mask(u.groupby('Name').Month.transform('min') != u['Month'])
.groupby(u.Name)
.idxmin()
.values)
df.loc[idx, 'EARLY_MIN'] = 1
df
Month Name Revenue EARLY_MIN
0 Jan A 100 ?
1 Jan A 50 1
2 Feb A 30 ?