data[boolean]
, где data
- это датафрейм, а boolean
- некоторая последовательность логических значений: выровнять boolean
индекс с data
индексом и выбрать data
значений, где соответствующее boolean
значение равно * 1008.*.Если boolean
имеет индекс, он должен совпадать один к одному, если нет, то он должен иметь одинаковую длину.
Так, например, вы можете выбрать первое значение в вашем фрейме данных с векторомиз [True, False, ..., False]
>>> data[[True] + [False] * 9]
admit gre gpa rank
0 0 380 3.61 3
Если boolean
не имеет одинаковую длину, например,
>>> data[[True] + [False] * 10]
, вы получите
ValueError: Item wrong length 11 instead of 10.
Если boolean
имеетиндекс, который не соответствует, вы получите IndexingError
>>> data[(data["rank"] == 1)[:9]]
IndexingError: Unalignable boolean Series provided as indexer
Если вы измените имена индекса
>>> (data["rank"] == 1).add_prefix('_')
_0 False
_1 False
_2 True
_3 False
_4 False
_5 False
_6 True
_7 False
_8 False
_9 False
Name: rank, dtype: bool
, вы также получите ошибку:
>>> data[(data["rank"].add_prefix('_') == 1)]
IndexingError: Unalignable boolean Series provided as indexer
Это известно как логическое индексирование .Существует также индексация на основе метка , data.loc[]
(которая может быть числовой, строковой или даты) или абсолютной позиции , data.iloc[]
и устаревшего метода data.ix[]
, который был использован для обоих из них.