Описательная статистика Pandas

PandasBeginner
Практиковаться сейчас

Введение

Добро пожаловать в лабораторию по описательной статистике Pandas. Описательная статистика является основой анализа данных, предоставляя простые сводки о выборке и мерах. С помощью Pandas, мощной библиотеки для манипулирования данными в Python, расчет этих статистик становится простым и эффективным.

В этой лаборатории вы научитесь:

  • Рассчитывать среднее (average) значение набора данных.
  • Находить медиану (median) (среднее значение).
  • Определять минимальное и максимальное значения.
  • Генерировать полную сводку статистик одной командой.
  • Подсчитывать уникальные значения в категориальной колонке.

Вы выполните эти операции на примере DataFrame, написав и выполнив код Python в WebIDE. Приступим!

Вычисление среднего с помощью метода mean

На этом шаге вы научитесь вычислять среднее (average) значение числовой колонки в Pandas DataFrame. Среднее значение — это сумма значений, деленная на количество значений, и это одна из наиболее распространенных мер центральной тенденции.

Pandas предоставляет метод .mean(), который можно вызвать для Series (колонки DataFrame) для вычисления ее среднего значения.

Сначала откройте файл main.py в файловом проводнике слева от WebIDE. Вы увидите начальный код, который создает наш пример DataFrame.

Добавьте следующий код в конец файла main.py для вычисления среднего значения колонки score и его вывода.

## Calculate the mean of the 'score' column
score_mean = df['score'].mean()
print(f"Mean Score: {score_mean}")

Теперь давайте запустим скрипт. Откройте терминал в WebIDE (Terminal -> New Terminal) и выполните следующую команду:

python3 main.py

Вы должны увидеть исходный DataFrame, разделитель и вычисленное среднее значение оценки.

Original DataFrame:
      name  age  score grade
0    Alice   24     85     B
1      Bob   27     90     A
2  Charlie   22     78     C
3    David   32     95     A
4      Eve   29     88     B

==============================

Mean Score: 87.2

Расчет медианы с помощью метода median

На этом шаге вы вычислите медиану числовой колонки. Медиана — это среднее значение набора данных, отсортированного в порядке возрастания. Часто это лучшая мера центральной тенденции, чем среднее, когда данные содержат выбросы (outliers).

Pandas упрощает это с помощью метода .median().

Продолжите редактирование файла main.py. Добавьте следующие строки в конец скрипта для вычисления и вывода медианы колонки score.

## Calculate the median of the 'score' column
score_median = df['score'].median()
print(f"Median Score: {score_median}")

Сохраните файл и снова запустите скрипт из терминала:

python3 main.py

Вывод теперь будет включать как среднее значение, так и медиану.

Original DataFrame:
      name  age  score grade
0    Alice   24     85     B
1      Bob   27     90     A
2  Charlie   22     78     C
3    David   32     95     A
4      Eve   29     88     B

==============================

Mean Score: 87.2
Median Score: 88.0

Поиск минимального и максимального значений

На этом шаге вы найдете минимальное и максимальное значения в колонке. Эти статистические показатели полезны для понимания диапазона и распределения ваших данных. Pandas предоставляет для этой цели методы .min() и .max().

Найдем наименьшие и наибольшие оценки в нашем наборе данных. Добавьте следующий код в конец вашего скрипта main.py.

## Find the minimum and maximum scores
score_min = df['score'].min()
score_max = df['score'].max()
print(f"Minimum Score: {score_min}")
print(f"Maximum Score: {score_max}")

Сохраните файл и выполните его из терминала:

python3 main.py

Ваш вывод теперь покажет среднее значение, медиану, минимальное и максимальное значения оценок.

Original DataFrame:
      name  age  score grade
0    Alice   24     85     B
1      Bob   27     90     A
2  Charlie   22     78     C
3    David   32     95     A
4      Eve   29     88     B

==============================

Mean Score: 87.2
Median Score: 88.0
Minimum Score: 78
Maximum Score: 95

Генерация сводной статистики с помощью describe

На этом шаге вы используете мощный метод .describe(). Этот единственный метод генерирует исчерпывающую сводку описательных статистик для всех числовых колонок в вашем DataFrame, включая количество (count), среднее (mean), стандартное отклонение (standard deviation), минимум (min), максимум (max) и значения квартилей (quartile values).

Это значительно экономит время при получении быстрого обзора ваших данных. Добавьте следующий код в конец файла main.py.

## Generate a summary of descriptive statistics
summary_stats = df.describe()
print("Descriptive Statistics Summary:")
print(summary_stats)

Сохраните файл и запустите скрипт:

python3 main.py

Вы увидите хорошо отформатированную таблицу, содержащую сводные статистики для колонок age и score.

... (previous output) ...

Descriptive Statistics Summary:
             age      score
count   5.000000   5.000000
mean   26.800000  87.200000
std     4.024922   6.379655
min    22.000000  78.000000
25%    24.000000  85.000000
50%    27.000000  88.000000
75%    29.000000  90.000000
max    32.000000  95.000000

Подсчет уникальных значений с помощью value_counts

На этом шаге вы узнаете, как подсчитывать количество вхождений уникальных значений в колонке, что особенно полезно для категориальных данных. Метод .value_counts() возвращает Series, содержащий количество уникальных значений.

Подсчитаем, сколько студентов получили каждую оценку. Добавьте следующий код в конец файла main.py.

## Count the occurrences of each grade
grade_counts = df['grade'].value_counts()
print("Grade Counts:")
print(grade_counts)

Сохраните файл и запустите скрипт в последний раз.

python3 main.py

Финальный вывод будет включать количество для каждой уникальной оценки.

... (previous output) ...

Grade Counts:
grade
B    2
A    2
C    1
Name: count, dtype: int64

Это показывает, что оценки 'A' и 'B' встречаются по два раза, а оценка 'C' — один раз.

Резюме

Поздравляем с завершением лабораторной работы! Вы успешно освоили основы описательного статистического анализа с использованием библиотеки Pandas.

В этой лабораторной работе вы практиковались в использовании нескольких ключевых методов Pandas:

  • .mean() для расчета среднего значения.
  • .median() для нахождения центрального значения.
  • .min() и .max() для определения диапазона данных.
  • .describe() для получения быстрой и всесторонней статистической сводки.
  • .value_counts() для подсчета уникальных значений в категориальной колонке.

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