Используя этот пример
df = pd.DataFrame({'letters':
['A', 'B', 'C', 'D', 'E', 'F']},
index=[10, 20, 30, 40, 50, 30])
С df.iloc [x] я могу получить строку x в кадре данных. Например.
df.iloc[3]
возвращает
буквы D
Имя: 40, тип: объект
Когда я фильтрую кадр данных, как
df2 = df.iloc[1:3]
Я получаю за df2
letters
20 B
30 C
Теперь предположим, что я не знал, как был применен фильтр, и мне нужно выяснить значения для отфильтрованных строк (1 и 2).
Какой лучший способ получить список позиций, позволяющий мне получить доступ к отфильтрованному результату, как этот результат, через исходный фрейм данных, используя df.iloc ? Как мне получить номера позиций?
Я ищу результат
[1, 2]
Примечание: у меня было хорошее предложение:
df.index.get_indexer_for((df2.index))
, который не работает, если индекс не уникален.
Int64Index([1, 2, 5], dtype='int64')