Урок 40 NumPy и Pandas

Введение в анализ данных: массивы, таблицы, фильтрация и группировка

⏱ ~15 мин чтения· 📗 Средний

Введение

NumPy и Pandas — фундаментальные библиотеки для анализа данных в Python. NumPy предоставляет эффективные многомерные массивы и математические операции. Pandas строится поверх NumPy и предлагает удобные структуры Series и DataFrame для работы с табличными данными.

📌 На этом уроке вы узнаете:

  • Установка через pip install numpy pandas
  • NumPy-массивы: создание, индексация, срезы, broadcasting
  • Базовые операции: np.mean(), np.sum(), np.reshape()
  • Pandas: Series, DataFrame, чтение CSV/Excel
  • Фильтрация, группировка и агрегация данных в Pandas

Основной материал

NumPy-массивы (ndarray) — основа научных вычислений. Они быстрее списков Python и поддерживают векторизованные операции: сложение, умножение применяются ко всем элементам без циклов. Pandas DataFrame — это таблица с именованными столбцами, похожая на Excel или SQL-таблицу. Метод read_csv() загружает данные из файла, head() показывает первые строки. Фильтрация через булевы маски, группировка через groupby() — основные инструменты аналитика.

import numpy as np
import pandas as pd

# NumPy: создание массива
arr = np.array([1, 2, 3, 4, 5])
print("Среднее:", np.mean(arr))  # 3.0
print("Станд. откл:", np.std(arr))

# NumPy: матричные операции
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Сумма по столбцам:", matrix.sum(axis=0))  # [12, 15, 18]

# Pandas: создание DataFrame
data = {
    'Имя': ['Анна', 'Борис', 'Вика', 'Глеб'],
    'Возраст': [22, 35, 28, 31],
    'Город': ['Москва', 'Питер', 'Казань', 'Москва']
}
df = pd.DataFrame(data)
print(df[df['Возраст'] > 25])  # фильтрация

# Чтение CSV (пример)
# df = pd.read_csv('data.csv')
# print(df.groupby('Город')['Возраст'].mean())

Практика

📝 Задание: Установите NumPy и Pandas. Создайте DataFrame из словаря с данными о 6 товарах (название, цена, количество, категория). Вычислите общую стоимость каждого товара (цена × количество). Отфильтруйте товары дороже 500 руб. и сгруппируйте по категориям, посчитав сумму общей стоимости.

Открыть REPL для выполнения →

Ключевые выводы

  • NumPy ndarray — быстрые массивы с векторизованными операциями
  • Pandas DataFrame — таблица с именованными столбцами и индексами
  • pd.read_csv(), pd.read_excel() — загрузка данных из файлов
  • Фильтрация: df[df["столбец"] > значение], группировка: df.groupby()
  • Установка: pip install numpy pandas