Найти числовую позицию не числового значения индекса
Рассмотрим серию s
ниже:
s = pd.Series(np.arange(18, 0, -3), list('ABCDEF'))
s
A 18
B 15
C 12
D 9
E 6
F 3
dtype: int32
Я хочу получить числовую позицию 'D'
Это сделает это, но я думаю, что мы все можем согласиться, что это грубо:
s.reset_index().index.to_series()[s.reset_index().iloc[:, 0] == 'D'].iloc[0]
3 ответа
Решение
Ты можешь использовать Index.get_loc
:
print(s.index.get_loc('D'))
3
Использование np.searchsorted
-
np.searchsorted(s.index.values,'D')
Или используйте метод, например, так -
s.index.searchsorted('D')