df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Aritra'],
'Age': [25, 30, 35],
'Location': ['Seattle', 'New York', 'Kona']},
index=([10, 20, 30]))
Я прошу пользователя указать, какую строку данных он хочет видеть. Они вводят 0
, обозначающий первую строку.
Однако df.loc[0]
не относится к первой строке. Вместо этого его не существует, потому что index
имеет только значения 10, 20 и 30.
Существует ли терминология, позволяющая различать эти два типа индексов? Лучшее, что я мог придумать, это порядковые индексы (для «Какая это числовая строка?») и индексы кадров данных (для «Каков индекс этой строки в фрейме данных?»).
Чтобы уточнить, по моим определениям, df.index(ordinal_index) == df_index
.
Есть ли для этого стандартная терминология?
Если вы посмотрите документацию, на которую вы ссылаетесь, панды используют термин «метка индекса» для описания того, что вы называете индексом фрейма данных.
Более подробно это объяснено в документации по индексированию , где термин позиция используется для обозначения того, что вы называете порядковым индексом. (Обратите внимание, что в некоторых популярных ответах на Stack Overflow используется термин «расположение», а не «позиция».)
Обратите внимание, что эта терминология может сбить с толку, потому что:
df.index
по сути представляет собой сопоставление позиций строк с метками строк. (И эта проблема особенно усложняется, поскольку позиции и метки обычно эквивалентны для большинства строк фрейма данных.)df.columns.get_loc(column_label)
возвращает позицию столбца с заданной меткой столбца (и все же называется get_loc, поэтому некоторые люди используют термин «местоположение» вместо «позиция»).df.loc
ожидается с помощью метки (а не позиции/местоположения): например. df.loc[row_label, column_label]
. Это (сейчас устаревшая) функция df.iloc
, к которой следует обращаться по позиции/местоположению.(Я отвечаю на свой вопрос, потому что нашел ответ непосредственно перед тем, как опубликовать вопрос. Я также обновил этот ответ, поскольку нашел более точную информацию.)
По теме: Панды — что такое «метка» и где она определяется? (вроде как противоположный вопрос)