pandas.DataFrame.take
-
DataFrame.take(indices, axis=0, convert=None, is_copy=True, **kwargs)[source] -
Возвращает элементы по заданным порядковым индексам вдоль оси.
Это означает, что мы не индексируем по фактическим значениям в атрибуте индекса объекта. Мы индексируем по фактическому положению элемента в объекте.
Параметры: indices : массив-подобный объект
Массив целых чисел, указывающих позиции для извлечения.
axis : {0 или ‘index’, 1 или ‘columns’, None}, по умолчанию 0
Ось, по которой выбираются элементы.
0означает выбор строк,1означает выбор столбцов.convert : bool, по умолчанию True
Преобразовывать ли отрицательные индексы в положительные. Например,
-1будет сопоставлен сlen(axis) - 1. Преобразования аналогичны поведению индексирования обычного списка Python.Устарело начиная с версии 0.21.0: В будущем отрицательные индексы всегда будут преобразовываться.
is_copy : bool, по умолчанию True
Возвращать ли копию исходного объекта.
**kwargs
Для совместимости с
numpy.take(). Не оказывает влияния на результат.Возвращает: taken : тип вызывающего объекта
Массив-подобный объект, содержащий извлеченные элементы из объекта.
См. также
-
DataFrame.loc - Выбор подмножества DataFrame по меткам.
-
DataFrame.iloc - Выбор подмножества DataFrame по позициям.
-
numpy.take - Извлечение элементов из массива по оси.
Примеры
>>> df = pd.DataFrame([('falcon', 'bird', 389.0), ... ('parrot', 'bird', 24.0), ... ('lion', 'mammal', 80.5), ... ('monkey', 'mammal', np.nan)], ... columns=['name', 'class', 'max_speed'], ... index=[0, 2, 3, 1]) >>> df name class max_speed 0 falcon bird 389.0 2 parrot bird 24.0 3 lion mammal 80.5 1 monkey mammal NaNИзвлечение элементов с позициями 0 и 3 по оси 0 (по умолчанию).
Обратите внимание, как фактические выбранные индексы (0 и 1) не соответствуют нашим выбранным индексам 0 и 3. Это потому, что мы выбираем 0-ю и 3-ю строки, а не строки, чьи индексы равны 0 и 3.
>>> df.take([0, 3]) name class max_speed 0 falcon bird 389.0 1 monkey mammal NaNИзвлечение элементов с индексами 1 и 2 по оси 1 (выбор столбцов).
>>> df.take([1, 2], axis=1) class max_speed 0 bird 389.0 2 bird 24.0 3 mammal 80.5 1 mammal NaNМожно извлекать элементы, используя отрицательные числа для положительных индексов, начиная с конца объекта, как и в списках Python.
>>> df.take([-1, -2]) name class max_speed 1 monkey mammal NaN 3 lion mammal 80.5 -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.take.html