Добавлен файл week2_analysis.ipynb и README.md, описывающий процесс

This commit is contained in:
Виктор Пичугин 2025-03-21 15:56:10 +03:00
parent 635f1de23f
commit 27e9cf3a05
2 changed files with 1872 additions and 1 deletions

106
README.md
View File

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

1767
week2_analysis.ipynb Normal file

File diff suppressed because one or more lines are too long