Go to file
2025-03-21 15:56:10 +03:00
.gitignore Созданы: .gitignore и README.md 2025-03-21 13:51:56 +03:00
README.md Добавлен файл week2_analysis.ipynb и README.md, описывающий процесс 2025-03-21 15:56:10 +03:00
week2_analysis.ipynb Добавлен файл week2_analysis.ipynb и README.md, описывающий процесс 2025-03-21 15:56:10 +03:00

  1. Подготовка окружения Перед началом работы необходимо:

Создать и активировать виртуальное окружение (venv или conda). Установить необходимые библиотеки: JupyterLab, numpy, pandas, matplotlib, seaborn, tqdm. Инициализировать репозиторий Git, добавить .gitignore и README.md. Зафиксировать первый коммит с базовой настройкой проекта. Эти шаги были рассмотрены на первой неделе. Проверьте, что всё настроено правильно.

  1. Основы работы с JupyterLab Запустите JupyterLab командой: jupyter lab Создайте новый Notebook (блокнот) и сохраните его под названием week2_analysis.ipynb. Добавьте несколько ячеек с кодом, выполните их и убедитесь, что результаты отображаются правильно. Используйте Markdown-ячейки для пояснений и заголовков в вашем блокноте. Почему JupyterLab? Позволяет быстро изменять код и видеть результаты без повторного запуска всего скрипта. Удобен для работы с данными, пошагового анализа и визуализации. Можно комбинировать код, текст, формулы и графики в одном документе. Попробуйте изменить несколько значений в коде и запустить ячейки снова. Так вы увидите, как разные параметры влияют на результат.

  2. Работа с pandas и numpy pandas: работа с таблицами Прочитайте и выполните следующий код:

import pandas as pd

Создадим DataFrame

data = { "Имя": ["Анна", "Борис", "Виктор", "Галина"], "Возраст": [21, 22, 23, 24], "Баллы": [89, 76, 95, 82] } df = pd.DataFrame(data)

print("Первый взгляд на данные:") print(df.head()) print(df.info()) print(df.describe()) print(df.isnull().sum()) Попробуйте самостоятельно (каждый пункт в новых блоках):

Поместить df в последнюю строчку блока. Добавить новый столбец с вычисляемыми значениями (df["Новый столбец"] = df["Баллы"] * 1.1). Применить .groupby() и .agg(), чтобы сгруппировать данные. Фильтровать записи по условиям (df[df["Возраст"] > 21]). numpy: массивы и вычисления import numpy as np

arr = np.array([1, 2, 3, 4, 5]) print("Сумма элементов массива:", np.sum(arr)) print("Среднее значение:", np.mean(arr)) print("Медиана:", np.median(arr)) print("Стандартное отклонение:", np.std(arr)) Попробуйте:

Создать двумерный массив (np.array(1, 2], [3, 4)). Использовать np.linspace(), np.random.randn(), np.dot(). 4. Визуализация данных matplotlib: построение графиков import matplotlib.pyplot as plt

x = np.linspace(0, 10, 100) y = np.sin(x)

plt.plot(x, y, label='sin(x)') plt.xlabel("X") plt.ylabel("Y") plt.title("График синуса") plt.legend() plt.grid() plt.show() Попробуйте:

Изменить цвет (color='red'). Добавить несколько графиков (plt.plot(x, np.cos(x), label='cos(x)')). Использовать bar, scatter, hist. seaborn: работа с графиками данных import seaborn as sns

df["Категория"] = ["A", "B", "A", "B"] # догадайтесь откуда df и её содержимое взялось sns.boxplot(x="Категория", y="Баллы", data=df) plt.show() Попробуйте:

Построить histplot, scatterplot. Добавить sns.pairplot(df), sns.heatmap(df.corr(), annot=True). 5. Прогресс-бар с tqdm from tqdm import tqdm import time

for i in tqdm(range(100)): time.sleep(0.01) # Симуляция долгого процесса Попробуйте:

Использовать tqdm для обработки данных (tqdm(df.iterrows())). Добавить кастомные стилизации (tqdm(range(100), desc='Загрузка')). 6. Самостоятельное задание Задание: Найдите свободные данные (например, на https://www.kaggle.com/ или https://datahub.io/) и выполните их анализ.

Загрузите данные в pandas (pd.read_csv() или pd.read_excel()). Проведите базовый анализ (df.info(), df.describe()). Постройте минимум 3 разных графика (histplot, scatterplot, boxplot). Используйте tqdm, если работаете с большими данными. Сохраните результаты в Jupyter Notebook и зафиксируйте изменения в Git.