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/
|
||||
*.ipynb_checkpoints/
|
||||
.vscode/
|
||||
.env
|
||||
__pycache__/
|
||||
27
README.md
27
README.md
@ -1,2 +1,25 @@
|
||||
Анализ данных – неделя 2
|
||||
JupyterLab
|
||||
# Анализ данных Indian Railways
|
||||
|
||||
## Цель
|
||||
Освоение инструментов анализа и визуализации данных (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.
13
src/main.py
13
src/main.py
@ -1,2 +1,15 @@
|
||||
def main():
|
||||
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