Добавлен файл week2_analysis.ipynb и README.md, описывающий процесс
This commit is contained in:
parent
635f1de23f
commit
27e9cf3a05
106
README.md
106
README.md
@ -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
1767
week2_analysis.ipynb
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user