.gitignore | ||
README.md | ||
week2_analysis.ipynb |
- Подготовка окружения Перед началом работы необходимо:
Создать и активировать виртуальное окружение (venv или conda). Установить необходимые библиотеки: JupyterLab, numpy, pandas, matplotlib, seaborn, tqdm. Инициализировать репозиторий Git, добавить .gitignore и README.md. Зафиксировать первый коммит с базовой настройкой проекта. Эти шаги были рассмотрены на первой неделе. Проверьте, что всё настроено правильно.
-
Основы работы с JupyterLab Запустите JupyterLab командой: jupyter lab Создайте новый Notebook (блокнот) и сохраните его под названием week2_analysis.ipynb. Добавьте несколько ячеек с кодом, выполните их и убедитесь, что результаты отображаются правильно. Используйте Markdown-ячейки для пояснений и заголовков в вашем блокноте. Почему JupyterLab? Позволяет быстро изменять код и видеть результаты без повторного запуска всего скрипта. Удобен для работы с данными, пошагового анализа и визуализации. Можно комбинировать код, текст, формулы и графики в одном документе. Попробуйте изменить несколько значений в коде и запустить ячейки снова. Так вы увидите, как разные параметры влияют на результат.
-
Работа с 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.