Урок 29: Погружение в анализ данных с pandas - Продвинутые техники

Погружение в анализ данных с pandas - Продвинутые техники

Краткое введение

В этом уроке мы расширим наши знания о pandas, изучив продвинутые техники анализа данных, которые помогут нам эффективнее извлекать, обрабатывать и анализировать сложные наборы данных.

Теоретическая часть

Слияние, соединение и конкатенация данных

Узнайте, как объединять различные наборы данных с помощью функций merge, join и concat, и понять различия между этими методами.

Работа с пропущенными данными

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

Создание сводных таблиц и выполнение групповых операций

Научитесь использовать groupby для группировки данных и агрегирования статистики, а также создавать сводные таблицы для анализа многомерных данных.

Примеры кода

# Пример слияния двух DataFrame
import pandas as pd

df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
 'value': range(4)})
df2 = pd.DataFrame({'key': ['B', 'D', 'D', 'E'],
 'value': range(4, 8)})
merged_df = pd.merge(df1, df2, on='key')

# Пример создания сводной таблицы
import numpy as np

df = pd.DataFrame({'A': ['one', 'one', 'two', 'three'] * 3,
 'B': ['A', 'B', 'C'] * 4,
 'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 2,
 'D': np.random.randn(12),
 'E': np.random.randn(12)})
pivot_table = pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'])

Практические задания

1. Возьмите два набора данных, содержащих информацию о студентах и их оценках, и используйте методы слияния для создания единой таблицы.
2. Используя набор данных о продажах, проанализируйте общий объем продаж по регионам и категориям товаров, создав соответствующую сводную таблицу.

Решение задания

# Слияние данных о студентах и их оценках
students_df = pd.DataFrame({'student_id': [1, 2, 3, 4],
 'name': ['Alice', 'Bob', 'Charlie', 'David']})
grades_df = pd.DataFrame({'student_id': [1, 2, 3, 4],
 'grade': ['A', 'B', 'C', 'D']})
merged_df = pd.merge(students_df, grades_df, on='student_id')

# Анализ объема продаж по регионам и категориям
sales_df = pd.DataFrame({'region': ['North', 'South', 'East', 'West', 'North', 'South', 'East', 'West'],
 'category': ['Electronics', 'Electronics', 'Furniture', 'Furniture', 'Clothing', 'Clothing', 'Food', 'Food'],
 'sales': np.random.randint(100, 1000, size=8)})
pivot_table = pd.pivot_table(sales_df, values='sales', index=['region'], columns=['category'], aggfunc=np.sum)

© 2024 realschule.ru

Категория: Python с нуля | Добавил: Admin (08.03.2024)
Просмотров: 70 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: