Джейд Картер

Библиотеки Python Часть 2. Практическое применение


Скачать книгу

Сохранение в новую таблицу

      user_revenues.to_sql('user_revenues', engine, if_exists='replace', index=False)

      # Проверка результатов

      saved_user_revenues = pd.read_sql("SELECT * FROM user_revenues", engine)

      print(saved_user_revenues)

      ```

      Результат:

      ```

      user_id revenue

      0 1 2000

      1 2 900

      ```

      Задача 11: Поиск последнего действия пользователей

      Описание:Для каждого пользователя из таблицы `activity_log` найдите его последнее действие.

      Решение:

      ```python

      # Поиск последнего действия

      last_actions = activity_df.sort_values('timestamp').groupby('user_id').last().reset_index()

      last_actions = last_actions[['user_id', 'action', 'timestamp']]

      print(last_actions)

      ```

      Результат:

      ```

      user_id action timestamp

      0 1 logout 2025-01-01 10:10:00

      1 2 logout 2025-01-01 11:10:00

      ```

      Задача 12: Фильтрация пользователей с высоким доходом

      Описание: Используя таблицу `user_revenues`, выберите всех пользователей, чей доход превышает 1500.

      Решение:

      ```python

      # Чтение данных из user_revenues

      user_revenues = pd.read_sql("SELECT * FROM user_revenues", engine)

      # Фильтрация пользователей с доходом > 1500

      high_revenue_users = user_revenues[user_revenues['revenue'] > 1500]

      print(high_revenue_users)

      ```

      Результат:

      ```

      user_id revenue

      0 1 2000

      ```

      Задача 13: Распределение доходов по продуктам

      Описание: Определите, какой процент от общего дохода приносит каждый продукт.

      Решение:

      ```python

      # Подсчет общего дохода

      total_revenue = sales_df['revenue'].sum()

      # Расчет процента дохода по продуктам

      sales_df['revenue_percent'] = (sales_df['revenue'] / total_revenue) * 100

      product_revenue_percent = sales_df.groupby('product')['revenue_percent'].sum().reset_index()

      print(product_revenue_percent)

      ```

      Результат:

      ```

      product revenue_percent

      0 Laptop 50.793651

      1 Phone 25.396825

      2 Tablet 23.809524

      ```

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

      Глава 2. Интерактивная визуализация и аналитика

2.1 Использование Plotly для интерактивных графиков

      Plotly – это мощная библиотека для создания интерактивных графиков и визуализации данных. Она поддерживает широкий спектр графиков: линейные, столбчатые, тепловые карты, трехмерные визуализации и многие другие. Основное преимущество Plotly – интерактивность: пользователи могут увеличивать масштаб, перемещаться по графикам, а также взаимодействовать с данными в реальном времени.

      Для работы с Plotly необходимо установить библиотеку:

      ```bash

      pip install plotly

      ```

      После установки можно использовать Plotly в сочетании с Pandas, что упрощает построение графиков на основе данных из DataFrame. Далее мы подробно рассмотрим примеры использования Plotly для создания различных типов графиков.

      Построение простого линейного графика

      Рассмотрим пример, где мы визуализируем изменение температуры в течение недели.

      ```python

      import plotly.graph_objects as go

      # Данные

      days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

      temperatures = [22, 24, 19, 23, 25, 28, 26]

      # Создание графика

      fig