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

Метод first

Метод first применяется к объекту GroupBy и возвращает первые значения в каждой группе для всех столбцов. Этот метод полезен для получения первой записи из каждой группы без необходимости дополнительной сортировки.

Синтаксис

grouped.first(numeric_only=False, min_count=-1)

Метод принимает два необязательных параметра:

  • numeric_only - логическое значение (по умолчанию False), определяет, использовать ли только числовые столбцы.
  • min_count - целочисленное значение (по умолчанию -1), задаёт минимальное количество значений в группе для возврата результата.

Пример

Рассмотрим базовый пример получения первых значений в группах:

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

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

a b group a 1 10 b 3 30 c 5 50

Пример

Использование параметра numeric_only для работы только с числовыми столбцами:

import pandas as pd df = pd.DataFrame({ 'group': ['x', 'x', 'y', 'y'], 'a': [1, 2, 3, 4], 'b': ['str1', 'str2', 'str3', 'str4'] }) grouped = df.groupby('group') res = grouped.first(numeric_only=True) print(res)

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

a group x 1 y 3

Пример

Использование параметра min_count для фильтрации групп с малым количеством элементов:

import pandas as pd df = pd.DataFrame({ 'group': ['a', 'a', 'b', 'c', 'c'], 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) grouped = df.groupby('group') res = grouped.first(min_count=2) print(res)

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

a b group a 1 10.0 c 4 40.0

В результате группа 'b' исключена, так как содержит только один элемент.

Пример

Сравнение методов first и last на одних и тех же данных:

import pandas as pd df = pd.DataFrame({ 'group': ['a', 'a', 'b', 'b', 'c'], 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) grouped = df.groupby('group') res_first = grouped.first() res_last = grouped.last() print('First rows:') print(res_first) print('\nLast rows:') print(res_last)

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

First rows: a b group a 1 10 b 3 30 c 5 50 Last rows: a b group a 2 20 b 4 40 c 5 50

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

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