pandas.core.groupby.GroupBy.nth
- finalGroupBy.nth(n, dropna=None)[source]
-
Получение n-й строки из каждой группы, если n — целое число, в противном случае — подмножество строк.
Может быть вызовом функции или индексом. dropna недоступен при использовании индексации. Индексная нотация принимает список целых чисел и срезов, разделенных запятыми.
Если dropna, берется n-я непустая строка, dropna может принимать значения ‘all’ или ‘any’; это эквивалентно вызову dropna(how=dropna) перед группировкой.
- Параметры
-
- n:int, срез или список целых чисел и срезов
-
Единственное значение n для строки или список значений n или срезов.
Изменено в версии 1.4.0: Добавлены срезы и списки, содержащие срезы. Добавлена индексная нотация.
- dropna:{‘any’, ‘all’, None}, по умолчанию None
-
Применение указанной операции dropna перед подсчетом, какая строка является n-й строкой. Поддерживается только если n является целым числом.
- Возвращаемое значение
-
- Series или DataFrame
-
N-ое значение в каждой группе.
См. также
Series.groupby-
Применение функции groupby к Series.
DataFrame.groupby-
Применение функции groupby к каждой строке или столбцу DataFrame.
Примеры
>>> df = pd.DataFrame({'A': [1, 1, 2, 1, 2], ... 'B': [np.nan, 2, 3, 4, 5]}, columns=['A', 'B']) >>> g = df.groupby('A') >>> g.nth(0) B A 1 NaN 2 3.0 >>> g.nth(1) B A 1 2.0 2 5.0 >>> g.nth(-1) B A 1 4.0 2 5.0 >>> g.nth([0, 1]) B A 1 NaN 1 2.0 2 3.0 2 5.0 >>> g.nth(slice(None, -1)) B A 1 NaN 1 2.0 2 3.0Индексная нотация также может быть использована
>>> g.nth[0, 1] B A 1 NaN 1 2.0 2 3.0 2 5.0 >>> g.nth[:-1] B A 1 NaN 1 2.0 2 3.0Указание dropna позволяет подсчет, игнорируя
NaN>>> g.nth(0, dropna='any') B A 1 2.0 2 3.0NaN обозначает исчерпанную группу при использовании dropna
>>> g.nth(3, dropna='any') B A 1 NaN 2 NaNУказание as_index=False в groupby сохраняет исходный индекс.
>>> df.groupby('A', as_index=False).nth(1) A B 1 1 2.0 4 2 5.0
© 2008–2022, 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/1.5.0/reference/api/pandas.core.groupby.GroupBy.nth.html