Функция Pandas df.head()

Pandas 常用函数Pandas: общие функции


head()является одной из наиболее часто используемых функций в Pandas DataFrame и Series, используемой для быстрого просмотра начала набора данных. Она возвращает первые n строк данных, позволяя понять базовую структуру и содержимое данных без загрузки всего набора данных.

Эта функция очень часто используется в работе по анализу данных, особенно при обработке больших наборов данных, где мы обычно сначала используемhead()чтобы просмотреть первые несколько строк данных, убедиться, соответствует ли структура данных ожиданиям, и затем перейти к дальнейшему анализу и обработке.


Базовый синтаксис и параметры

head()является методом-членом DataFrame и Series, вызываемым через оператор точки.для вызова. Он не требует обязательных параметров, но принимает необязательный параметр для указания количества возвращаемых строк.

Формат синтаксиса

DataFrame.head(n=5)
Series.head(n=5)

Описание параметра

Параметр Type Обязательный Описание Значение по умолчанию
n int Optional Возвращает первые n строк данных. Если n больше общего числа строк, возвращает все данные. 5

Описание возвращаемого значения

  • Тип возвращаемого значения: если вызывающий объект — DataFrame, возвращается DataFrame; если вызывающий объект — Series, возвращается Series.
  • Количество возвращаемых строк: возвращает не более n строк; если данных меньше n строк, возвращает все данные.

Примеры

Давайте полностью освоимhead()использование на ряде примеров.

Пример 1: Базовое использование — просмотр первых нескольких строк DataFrame

Сначала создайте простой DataFrame, затем используйтеhead()чтобы просмотреть первые несколько строк данных.

Пример

import pandas as pd

# Создайте пример DataFrame, содержащий данные об успеваемости студентов
data = {
    'name': ['Алиса', 'Боб', 'Чарли', 'Дэвид', 'Ева', 'Фрэнк', 'Грейс', 'Генри', 'Айрис', 'Джек'],
    'age': [18, 19, 17, 18, 20, 19, 18, 17, 19, 18],
    'score': [85, 92, 78, 90, 88, 95, 82, 76, 89, 91],
    'grade': ['A', 'A', 'B', 'A', 'B', 'A', 'B', 'C', 'B', 'A']
}
df = pd.DataFrame(data)

# По умолчанию возвращает первые 5 строк
print("По умолчанию первые 5 строк:")
print(df.head())

# Указать возврат первых 3 строк
print("nПервые 3 строки:")
print(df.head(3))

# Вернуть первые 7 строк
print("nПервые 7 строк:")
print(df.head(7))

Результат вывода:

默认前 5 行:
      name  age  score grade
0    Alice   18     85     A
1      Bob   19     92     A
2  Charlie   17     78     B
3    David   18     90     A
4      Eve   20     88     B

前 3 行:
      name  age  score grade
0    Alice   18     85     A
1      Bob   19     92     A
2  Charlie   17     78     B

前 7 行:
      name  age  score grade grade
0    Alice   18     85     A
1      Bob   19     92     A
2  Charlie   17     78     B
3    David   18     90     A
4      Eve   20     88     B
5    Frank   19     95     A
6    Grace   18     82     B

Пояснение к коду:

  1. Создан DataFrame, содержащий 10 строк данных студентов.
  2. df.head()Без параметров по умолчанию возвращаются первые 5 строк данных; это наиболее распространённый вариант использования.
  3. df.head(3)Возвращает первые 3 строки; количество отображаемых строк можно настроить по необходимости.
  4. Когда указанное значение n больше общего количества строк данных, возвращаются все данные без ошибки.

Пример 2: Просмотр первых нескольких строк Series

head()Применимо не только к DataFrame, но также работает и с объектами Series.

Пример

import pandas as pd

# Создание Series, содержащего набор значений
s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])

# Просмотр первых 3 элементов Series
print("Первые 3 элемента:")
print(s.head(3))

# Создание Series с индексом
s2 = pd.Series([100, 200, 300, 400, 500], index=['a', 'b', 'c', 'd', 'e'])
print("nПервые 2 элемента Series с индексом:")
print(s2.head(2))

Результат вывода:

前 3 个元素:
0    10
1    20
2    30
dtype: int64

带索引 Series 的前 2 个元素:
a    100
b    200
dtype: int64

Пояснение к коду:

  • Series также поддерживаетhead()метод, возвращающий первые n элементов.
  • Series с пользовательским индексом также может использоватьhead()обычным образом, и исходный индекс будет сохранён.

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

head()Часто используется в сочетании с другими функциями DataFrame для исследования и анализа данных.

Пример

import pandas as pd
import numpy as np

# Создать более крупный DataFrame
np.random.seed(42)  # Установить начальное значение генератора случайных чисел для воспроизводимости результатов
df = pd.DataFrame({
    'date': pd.date_range('2024-01-01', periods=100),
    'value': np.random.randn(100).round(2),
    'category': np.random.choice(['A', 'B', 'C'], 100)
})

# Просмотр информации о типе данных
print("Информация о типе данных:")
print(df.dtypes)
print()

# Просмотр первых 10 строк данных
print("Первые 10 строк данных:")
print(df.head(10))

# Сначала отсортировать, затем просмотреть первые несколько строк
df_sorted = df.sort_values('value', ascending=False)
print("nПервые 5 строк после сортировки по значению в порядке убывания:")
print(df_sorted.head())

# Просмотр статистической информации для первых нескольких строк
print("nСтатистическая информация для первых 5 строк:")
print(df.head().describe())

Результат вывода:

数据类型信息:
date    datetime64[ns]
value            float64
category          object
dtype: object

前 10 行数据:
        date  value category
0 2024-01-01   0.34        A
1 2024-01-02  -0.23        B
2 2024-01-03   0.54        C
3 2024-01-04  -1.58        B
4 2024-01-05  -0.29       后几行
...

按 value 降序排列后的前 5 行:
         date  value category
72 2024-03-13   2.87        C
55 2024-02-25   2.32        A
31 2024-02-01   2.21        B
64 2024-03-05   1.71        C
84 2024-03-25   1.55        A

前 5 行的统计信息:
         age     score
count   5.0    5.000
mean   18.0   87.200
std     1.0    5.403
min    17.0   78.000
50%   18.0   88.000
max   20.0   95.000

Пояснение к коду:

  1. head()Можно использовать в сочетании сsort_values()чтобы сначала отсортировать, а затем просмотреть первые несколько строк.
  2. head()Возвращаемый результат по-прежнему является DataFrame, поэтому можно продолжать вызывать другие методы DataFrame.
  3. describe()Можно выполнить статистическую сводку поhead()возвращённым данным.

Примечания

  • head()Не изменяет исходный DataFrame или Series; возвращает новый объект.
  • Если n меньше или равно 0, возвращается пустой DataFrame или пустой Series.
  • Для больших наборов данных сначала использоватьhead()для просмотра структуры — хорошая практика.
  • head()Возвращаемые данные сохраняют исходные значения индекса и не перенумеровывают их.

Совет: В средах Jupyter Notebook или JupyterLab прямой ввод имени переменной DataFrame и выполнение этой команды по умолчанию отображаетhead()результат, что значительно облегчает работу по исследованию данных.


Итог

head()является одной из самых базовых и практичных функций просмотра данных в Pandas. Она позволяет быстро просмотреть начало набора данных, помогая понять ключевую информацию, такую как структура данных, имена столбцов и типы данных.

В реальной работе по анализу данных мы обычно: сначала используемhead()чтобы просмотреть базовую структуру данных, затем используемtail()чтобы просмотреть конец данных, а затем используемinfo()иdescribe()чтобы понять общую картину данных. Этот «четырёхшаговый процесс просмотра данных» — фундаментальный навык, которым должен овладеть каждый аналитик данных.

Pandas 常用函数Pandas: общие функции

Другие расширения