У меня есть таблица, которая выглядит так:
![My table](https://i.stack.imgur.com/4ujDN.png)
Я пытаюсь выяснить, что такое «first_stop» и «last_stop» для каждого «id» на основе «sequence». Я сделал first_stop, но я не могу понять последнюю остановку. Поэтому мне нужен дополнительный столбец, в котором указано, является ли это максимальным порядковым номером для каждого идентификатора. Я пробовал так много способов, и все они заканчиваются неудачей или дают мне некоторые ошибки. Я потратил слишком много времени, пытаясь решить эту проблему, и я знаю, что вы все сможете помочь мне очень быстро. Спасибо за вашу помощь.
for index, row in df.iterrows():
first_mask = df['sequence'] == 0
last_mask = df['sequence'] == ???
df['first_stop'] = np.where(first_mask, 'Y', 'N')
df['last_stop'] = np.where(last_mask, 'Y', 'N')
print(df[['id', 'sequence', 'first_stop', 'last_stop']])
Последовательность - это порядок остановок, поэтому я хочу наименьший порядковый номер (first_stop) для каждого идентификатора и максимальный порядковый номер (last_stop) для каждого идентификатора. Самый младший порядковый номер легко, он всегда равен 0. Но как рассчитать максимальный порядковый номер для каждого идентификатора?