Когда работаешь с большим объемом данных, первый шаг, который следует сделать — это быстро и правильно оценить, что содержится в этом наборе данных. Pandas предлагает ряд методов, позволяющих эффективно осуществлять первичный просмотр данных. Рассмотрим методы head()
, info()
и describe()
.
Прежде всего, давайте создадим небольшой тестовый DataFrame на основе данных о людях.
import pandas as pd
data = {
'Name': ['Anna', 'Mike', 'Lucas', 'Sam', 'Amy', 'Eva', 'John', 'Daniel', 'Grace', 'Sophie'],
'Age': [23, 29, 31, 18, 25, 54, 45, 35, 40, 38],
'City': ['Moscow', 'Paris', 'Berlin', 'London', 'Madrid', 'Moscow', 'Paris', 'Rome', 'Madrid', 'London'],
'Salary': [50000, 55000, 60000, 48000, 52000, 62000, 57000, 53000, 54000, 58000]
}
df = pd.DataFrame(data)
Для того чтобы взглянуть на первые строки DataFrame, используется метод head()
. По умолчанию он покажет 5 строк.
print(df.head())
Результат:
Name Age City Salary
0 Anna 23 Moscow 50000
1 Mike 29 Paris 55000
2 Lucas 31 Berlin 60000
3 Sam 18 London 48000
4 Amy 25 Madrid 52000
Если мы хотим посмотреть, например, только первые 3 строки:
print(df.head(3))
Результат:
Name Age City Salary
0 Anna 23 Moscow 50000
1 Mike 29 Paris 55000
2 Lucas 31 Berlin 60000
Этот метод дает общую информацию о DataFrame.
print(df.info())
Результат:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Name 10 non-null object
1 Age 10 non-null int64
2 City 10 non-null object
3 Salary 10 non-null int64
dtypes: int64(2), object(2)
memory usage: 448.0+ bytes
None
Таким образом, мы видим, что у нас есть 10 записей, 4 столбца, и в каждом столбце по 10 ненулевых значений.
Этот метод дает статистическую сводку числовых столбцов.
print(df.describe())
Результат:
Age Salary
count 10.000000 10.000000
mean 33.800000 54900.000000
std 10.881176 4408.325457
min 18.000000 48000.000000
25% 26.000000 52250.000000
50% 33.000000 54500.000000
75% 39.500000 57750.000000
max 54.000000 62000.000000
Здесь у нас представлены основные статистические показатели для каждого числового столбца: среднее значение, стандартное отклонение, минимальное и максимальное значения, а также квартили.
Метод describe()
не ограничивается только числовыми данными. Если вы хотите получить статистику по нечисловым столбцам (например, по строкам), вы можете использовать параметр include
.
print(df.describe(include='object'))
Результат:
Name City
count 10 10
unique 10 6
top Anna Moscow
freq 1 2
В этом примере:
count
показывает общее количество записей.unique
сообщает нам, сколько уникальных записей в каждом столбце.top
показывает наиболее часто встречающееся значение.freq
показывает, сколько раз встречается наиболее частое значение.Чтобы получить статистику сразу по числовым и нечисловым столбцам, используйте include='all'
.
print(df.describe(include='all'))
Этот код вернет статистику для всех столбцов в DataFrame.
head()
, чтобы быстро просмотреть начальные и конечные строки ваших данных. Это позволяет убедиться в правильности импорта данных и оценить их качество.info()
полезен, когда вы хотите получить общую информацию о вашем DataFrame, особенно если у вас большой объем данных. С его помощью можно быстро выявить, в каких столбцах есть пропущенные значения.describe()
является отличным инструментом первичного анализа. Благодаря ему можно быстро оценить распределение данных, выявить аномалии или ошибки в данных.Методы head()
, info()
и describe()
- это ваш первый инструментарий при работе с новым набором данных. Они позволяют быстро понять, что содержится в данных, каковы их основные характеристики и структура. После этого начального анализа вы можете более осознанно приступить к дальнейшей предобработке и анализу данных.
Содержание: