У меня есть DataFrame, который выглядит следующим образом:

Я хочу найти для каждой строки индекс соответствия между текущимзначение строки previous
в столбце current
, так что я получаю новый ряд с именем idx_previous
следующим образом:

Пока япопытался использовать функцию Pandas.Series.where (), чтобы увидеть местоположение.Если я сделаю:
import pandas as pd
df = pd.DataFrame({'current':['a','aa','ab','aaa','aab','aba','abb'],
'previous':['','a','a','aa','aa','ab','ab']})
df['idx_previous'] = ''
for previous in df.previous[1:]:
df.loc[df.previous==previous, 'idx_previous'] = df.loc[df.current ==
previous].index[0]
Я могу получить то, что хочу, но это выглядит как не элегантный обходной путь.Есть какой-то метод, который лучше подходит для этой задачи?Спасибо.
Примечание: previous
по определению является строкой в current
элемента N-1
.И current
состоит из всех уникальных значений.