pandas.DataFrame.take#
- DataFrame.take(индексы, ось=0, **kwargs)[источник]#
Возвращает элементы в заданном позиционный индексы вдоль оси.
Это означает, что мы индексируем не по фактическим значениям в атрибуте индекса объекта. Мы индексируем по фактической позиции элемента в объекте.
- Параметры:
- индексыarray-like
Массив целых чисел, указывающих, какие позиции брать.
- ось{0 или 'index', 1 или 'columns', None}, по умолчанию 0
Ось, по которой выбираются элементы.
0означает, что мы выбираем строки,1означает, что мы выбираем столбцы. Для Series этот параметр не используется и по умолчанию равен 0.- **kwargs
Для совместимости с
numpy.take(). Не влияет на вывод.
- Возвращает:
- того же типа, что и вызывающий объект
Массивоподобный объект, содержащий элементы, взятые из объекта.
Смотрите также
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