Функция Pandas df.head()
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()чтобы просмотреть первые несколько строк данных.
Пример
# Создайте пример 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
Пояснение к коду:
- Создан DataFrame, содержащий 10 строк данных студентов.
df.head()Без параметров по умолчанию возвращаются первые 5 строк данных; это наиболее распространённый вариант использования.df.head(3)Возвращает первые 3 строки; количество отображаемых строк можно настроить по необходимости.- Когда указанное значение n больше общего количества строк данных, возвращаются все данные без ошибки.
Пример 2: Просмотр первых нескольких строк Series
head()Применимо не только к DataFrame, но также работает и с объектами Series.
Пример
# Создание 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 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
Пояснение к коду:
head()Можно использовать в сочетании сsort_values()чтобы сначала отсортировать, а затем просмотреть первые несколько строк.head()Возвращаемый результат по-прежнему является DataFrame, поэтому можно продолжать вызывать другие методы DataFrame.describe()Можно выполнить статистическую сводку поhead()возвращённым данным.
Примечания
head()Не изменяет исходный DataFrame или Series; возвращает новый объект.- Если n меньше или равно 0, возвращается пустой DataFrame или пустой Series.
- Для больших наборов данных сначала использовать
head()для просмотра структуры — хорошая практика. head()Возвращаемые данные сохраняют исходные значения индекса и не перенумеровывают их.
Совет: В средах Jupyter Notebook или JupyterLab прямой ввод имени переменной DataFrame и выполнение этой команды по умолчанию отображает
head()результат, что значительно облегчает работу по исследованию данных.
Итог
head()является одной из самых базовых и практичных функций просмотра данных в Pandas. Она позволяет быстро просмотреть начало набора данных, помогая понять ключевую информацию, такую как структура данных, имена столбцов и типы данных.
В реальной работе по анализу данных мы обычно: сначала используемhead()чтобы просмотреть базовую структуру данных, затем используемtail()чтобы просмотреть конец данных, а затем используемinfo()иdescribe()чтобы понять общую картину данных. Этот «четырёхшаговый процесс просмотра данных» — фундаментальный навык, которым должен овладеть каждый аналитик данных.
Pandas: общие функции