Насколько я понимаю, вам нужно:
letlist = ['a', 'b', 'c', 'd']
print(df)
Вывод:
letters
0 a
1 b
2 b
3 d
4 c
А потом
df['new_col'] = df['letters'].apply(lambda x: letlist.index(x))
Вывод:
0 0
1 1
2 1
3 3
4 2
Name: letters, dtype: int64
Помните, что если значение в столбце отсутствует в списке, оно выдаст ValueError
.