РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
370 of 687 menu

Метод nth

Метод nth применяется к объекту GroupBy и возвращает строки с указанными порядковыми номерами из каждой группы. Первым параметром передаётся индекс или список индексов строк, которые нужно извлечь из каждой группы.

Синтаксис

groupby_obj.nth(n, dropna=None)

Пример

Давайте получим вторую строку из каждой группы:

import pandas as pd df = pd.DataFrame({ 'a': [1, 1, 2, 2, 3, 3], 'b': [10, 20, 30, 40, 50, 60] }) grouped = df.groupby('a') res = grouped.nth(1) print(res)

Результат выполнения кода:

b a 1 20 2 40 3 60

Пример

Давайте получим нулевую и вторую строки из каждой группы:

import pandas as pd df = pd.DataFrame({ 'a': ['x', 'x', 'x', 'y', 'y', 'y'], 'b': [1, 2, 3, 4, 5, 6], 'c': [10, 20, 30, 40, 50, 60] }) grouped = df.groupby('a') res = grouped.nth([0, 2]) print(res)

Результат выполнения кода:

b c a x 1 10 x 3 30 y 4 40 y 6 60

Пример

Давайте получим последнюю строку из каждой группы с помощью отрицательного индекса:

import pandas as pd df = pd.DataFrame({ 'a': ['one', 'one', 'two', 'two', 'three', 'three'], 'b': [5, 15, 25, 35, 45, 55] }) grouped = df.groupby('a') res = grouped.nth(-1) print(res)

Результат выполнения кода:

b a one 15 two 35 three 55

Пример

Давайте обработаем случай с пропущенными значениями. Параметр dropna позволяет выбрать, исключать ли строки с NaN:

import pandas as pd import numpy as np df = pd.DataFrame({ 'a': [1, 1, 2, 2, 3, 3], 'b': [10, np.nan, 30, 40, 50, np.nan] }) grouped = df.groupby('a') res = grouped.nth(1, dropna='any') print(res)

Результат выполнения кода:

b a 1 NaN 2 40 3 NaN

Смотрите также

  • метод first,
    который возвращает первую строку из каждой группы
  • метод last,
    который возвращает последнюю строку из каждой группы
  • метод head,
    который возвращает первые строки из каждой группы
  • метод tail,
    который возвращает последние строки из каждой группы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить