Final version - week_2: analysis of Indian Railways
This commit is contained in:
parent
ca3e3c46ee
commit
b0b7bd6bfd
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
venv/
|
venv/
|
||||||
*.ipynb_checkpoints/
|
*.ipynb_checkpoints/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
.env
|
||||||
__pycache__/
|
__pycache__/
|
||||||
27
README.md
27
README.md
@ -1,2 +1,25 @@
|
|||||||
Анализ данных – неделя 2
|
# Анализ данных Indian Railways
|
||||||
JupyterLab
|
|
||||||
|
## Цель
|
||||||
|
Освоение инструментов анализа и визуализации данных (pandas, numpy, matplotlib, seaborn, tqdm) на примере датасета индийских железных дорог.
|
||||||
|
|
||||||
|
## Данные
|
||||||
|
Набор данных IRCTC_cleaned.csv взят из [Kaggle](https://www.kaggle.com/datasets/antareepdey/indian-railways). Содержит информацию о поездах, станциях, времени отправления, днях курсирования, расстоянии.
|
||||||
|
|
||||||
|
## Выполненные шаги
|
||||||
|
- Загрузка и очистка данных.
|
||||||
|
- Преобразование типов, извлечение признаков (час отправления, количество дней курсирования).
|
||||||
|
- Разведочный анализ: пропуски, статистики.
|
||||||
|
- Визуализация:
|
||||||
|
- Гистограмма расстояний.
|
||||||
|
- Scatter plot "расстояние vs. число дней курсирования".
|
||||||
|
- Boxplot расстояний по дням недели.
|
||||||
|
- Топ-15 станций по количеству поездов.
|
||||||
|
- Тепловая карта корреляции.
|
||||||
|
- Использование tqdm для отслеживания группировки данных.
|
||||||
|
- Выводы.
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
1. Установить зависимости: `pip install -r requirements.txt`
|
||||||
|
2. Поместить `IRCTC_cleaned.csv` в корень проекта.
|
||||||
|
3. Запустить Jupyter Lab и открыть `week2_analysis.ipynb`.
|
||||||
BIN
requirements.txt
Normal file
BIN
requirements.txt
Normal file
Binary file not shown.
15
src/main.py
15
src/main.py
@ -1,2 +1,15 @@
|
|||||||
def main():
|
def main():
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
import pandas as pd
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import seaborn as sns
|
||||||
|
from tqdm import tqdm
|
||||||
|
|
||||||
|
# Загружаем данные из CSV
|
||||||
|
df = pd.read_csv('IRCTC_cleaned.csv')
|
||||||
|
|
||||||
|
# Смотрим размер и первые строки
|
||||||
|
print(f"Загружено строк: {df.shape[0]}, столбцов: {df.shape[1]}")
|
||||||
|
df.head(3)
|
||||||
882
week2_analysis.ipynb
Normal file
882
week2_analysis.ipynb
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user