the_project
4 месяца назад
4 месяца назад
4 месяца назад
5 месяцев назад
4 месяца назад
4 месяца назад
4 месяца назад
5 месяцев назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md
Исправленный проект с работающими flake8 и pytest
📁 Структура проекта
educational-analyzer/
├── .github/
│ └── workflows/
│ └── ci.yml
├── src/
│ ├── __init__.py
│ ├── analyzer.py
│ ├── data_loader.py
│ └── utils.py
├── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_analyzer.py
│ ├── test_data_loader.py
│ └── test_utils.py
├── data/
│ └── sample_data.csv
├── .gitignore
├── requirements.txt
├── setup.cfg
└── README.md
📄 README.md
Использование
Пример с загрузкой DataFrame
📁 Структура проекта
educational-analyzer/
├── src/ # Исходный код
│ ├── __init__.py # Инициализация пакета
│ ├── analyzer.py # Основной анализатор
│ ├── data_loader.py # Загрузка и предобработка данных
│ └── utils.py # Вспомогательные функции
├── tests/ # Тесты
│ ├── conftest.py # Фикстуры pytest
│ ├── test_analyzer.py # Тесты анализатора
│ ├── test_data_loader.py# Тесты загрузчика
│ └── test_utils.py # Тесты утилит
├── data/ # Данные
│ └── sample_data.csv # Пример данных
├── .github/workflows/ # CI/CD
│ └── ci.yml # GitHub Actions workflow
├── requirements.txt # Зависимости
├── setup.cfg # Конфигурация инструментов
└── README.md # Документация
🧪 Тестирование
🔍 Проверка качества кода
📊 Формат входных данных
CSV файл должен содержать как минимум колонку . Оценки определяются автоматически по названиям колонок, содержащих student_id или grade.score
| Колонка | Тип | Описание |
|---|---|---|
| string | Уникальный идентификатор студента (обязательно) |
| int/float | Оценки по предметам (0-100) |
| int/float | Баллы по предметам |
| float | Посещаемость (0-1) |
Пример CSV
📈 Выходные данные
AnalysisResult
Пример вывода
🔧 CI/CD Pipeline
Проект использует GitHub Actions для автоматизации:
- ✅ Lint — проверка стиля кода (flake8)
- ✅ Test — запуск unit-тестов (pytest)
- ✅ Coverage — отчет о покрытии кода
Pipeline запускается на каждый push и pull request.
📋 Требования
- Python 3.9+
- pandas >= 2.0.0
- numpy >= 1.24.0
- scikit-learn >= 1.3.0
🤝 Вклад в проект
- Fork репозитория
- Создайте feature branch (
)git checkout -b feature/amazing-feature - Commit изменений (
)git commit -m 'Add amazing feature' - Push в branch (
)git push origin feature/amazing-feature - Откройте Pull Request
📄 Лицензия
MIT License — см. LICENSE для деталей.
👤 Автор
- GitHub: @axwell