Skip to content

Example1

Анализ данных и построение графиков


Шаг 1: Установка необходимых библиотек

Google Colab уже содержит большинство популярных библиотек, таких как Pandas, Matplotlib и Seaborn. Если что-то отсутствует, вы можете установить это через !pip install.

# Установка библиотек (если требуется)
!pip install seaborn pandas matplotlib

Шаг 2: Загрузка данных

Используем встроенный датасет tips из библиотеки Seaborn. Этот датасет содержит информацию о счетах, чаевых, поле клиента и других параметрах.

import seaborn as sns
import pandas as pd

# Загрузка датасета tips
data = sns.load_dataset('tips')

# Просмотр первых строк
data.head()

Описание данных: - total_bill: Общая сумма счета. - tip: Размер чаевых. - sex: Пол клиента (Male или Female). - smoker: Курящий клиент (Yes или No). - day: День недели (Thur, Fri, Sat, Sun). - time: Время дня (Lunch или Dinner). - size: Количество человек в группе.


Шаг 3: Предобработка данных

Проверим данные на наличие пропущенных значений и преобразуем категориальные переменные при необходимости.

# Проверка пропущенных значений
print(data.isnull().sum())

# Преобразование категориальных переменных в числовые (если нужно)
data['sex'] = data['sex'].map({'Male': 0, 'Female': 1})
data['smoker'] = data['smoker'].map({'No': 0, 'Yes': 1})

# Просмотр обработанных данных
data.head()

Шаг 4: Анализ данных

Выполним простой анализ данных: 1. Средний размер чаевых. 2. Корреляция между счетом и чаевыми. 3. Распределение чаевых по дням недели.

# Средний размер чаевых
average_tip = data['tip'].mean()
print(f"Средний размер чаевых: {average_tip:.2f}")

# Корреляция между счетом и чаевыми
correlation = data['total_bill'].corr(data['tip'])
print(f"Корреляция между счетом и чаевыми: {correlation:.2f}")

# Группировка данных по дням недели
tips_by_day = data.groupby('day')['tip'].mean()
print("Средние чаевые по дням недели:")
print(tips_by_day)

Шаг 5: Визуализация данных

Построим графики для наглядного представления данных.

import matplotlib.pyplot as plt
import seaborn as sns

# Гистограмма распределения чаевых
plt.figure(figsize=(8, 5))
sns.histplot(data['tip'], bins=20, kde=True)
plt.title("Распределение чаевых")
plt.xlabel("Размер чаевых")
plt.ylabel("Частота")
plt.show()

# Диаграмма рассеяния: зависимость между счетом и чаевыми
plt.figure(figsize=(8, 5))
sns.scatterplot(x='total_bill', y='tip', data=data, hue='sex')
plt.title("Зависимость между счетом и чаевыми")
plt.xlabel("Общий счет")
plt.ylabel("Чаевые")
plt.show()

# Средние чаевые по дням недели
plt.figure(figsize=(8, 5))
sns.barplot(x=tips_by_day.index, y=tips_by_day.values)
plt.title("Средние чаевые по дням недели")
plt.xlabel("День недели")
plt.ylabel("Средние чаевые")
plt.show()

Шаг 6: Интерпретация результатов

  1. Средний размер чаевых: Мы вычислили среднее значение чаевых.
  2. Корреляция: Выяснили, что существует положительная корреляция между счетом и чаевыми.
  3. Графики:
  4. Гистограмма показывает распределение чаевых.
  5. Диаграмма рассеяния демонстрирует связь между счетом и чаевыми.
  6. Столбчатая диаграмма показывает средние чаевые по дням недели.

Этот пример демонстрирует базовый пайплайн работы с данными в Data Science: 1. Загрузка данных. 2. Предобработка (проверка пропущенных значений, преобразование категориальных переменных). 3. Анализ данных (статистические метрики, группировка). 4. Визуализация данных (гистограммы, диаграммы рассеяния, столбчатые диаграммы).

Этот код можно использовать как шаблон для анализа других датасетов. Замените датасет и адаптируйте анализ под ваши задачи.