Metadata-Version: 2.4
Name: datathing
Version: 0.1.2
Summary: Модуль для автоматического анализа и визуализации табличных данных
Author-email: Артем Грачев <artemy.develop@gmail.com>
Project-URL: GitHub, https://github.com/Artemy-dev/datathing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: seaborn
Requires-Dist: statsmodels

# datathing
### https://pypi.org/project/datathing/<br>

---

📊 Python-модуль для автоматического анализа, визуализации и статистических тестов над табличными данными (pandas.DataFrame).

---

## Установка

```bash
pip install datathing
```

---

## Возможности

* Поиск аномалий (3σ, IQR)
* Визуализация (гистограммы, boxplot, heatmap, pairplot)
* Корреляции
* Проверка нормальности
* Стат. тесты (T-test, U-test, χ²)
* Декомпозиция временных рядов

---

## 📚 Доступные функции

Модуль `datathing` предоставляет функции для быстрого и наглядного анализа данных в DataFrame. Ниже — список доступных функций:

| Функция | Описание |
|--------|----------|
| `get_summary_report(df, column)` | Автоматический отчет по колонке: среднее, медиана, выбросы (IQR и 3σ), асимметрия |
| `get_scan(df)` | Краткая информация о структуре DataFrame |
| `get_stats(df)` | Базовая описательная статистика по числовым колонкам |
| `get_unique_counts(df)` | Количество уникальных значений в каждой колонке |
| `get_unique_values(df, column)` | Все уникальные значения в выбранной колонке |
| `get_missing_values(df)` | Подсчет пропущенных значений по колонкам |
| `get_corr_matrix(df)` | Расчет корреляций между числовыми колонками |
| `plot_distribution(df, columns)` | Визуализация распределения (гистограммы и boxplot) |
| `plot_corr_heatmap(df)` | Тепловая карта корреляций |
| `plot_pairplot(df)` | Парные графики для числовых переменных |
| `plot_decomposition_time_series(df, column, period=7, model="additive")` | Декомпозиция временного ряда (тренд, сезонность, остаток) |
| `detect_sigma_outliers(df, column)` | Поиск выбросов по правилу трех сигм (3σ) |
| `detect_iqr_outliers(df, column)` | Поиск выбросов по IQR (межквартильному размаху) |
| `test_shapiro(df, column)` | Тест Шапиро-Уилка на нормальность распределения |
| `test_ttest(df, column, group_col)` | T-тест для сравнения двух групп |
| `test_mannwhitneyu(df, column, group_col)` | U-тест Манна-Уитни — для ненормальных распределений |
| `test_chi2(df, *columns)` | Хи-квадрат тест на зависимость категориальных переменных |

---

## 📌 Пример использования

```python
import pandas as pd
import datathing as dfg

df = pd.DataFrame({
    "возраст": [25, 30, 22, 40, 19, 120],
    "зарплата": [50000, 60000, 45000, 80000, 30000, 200000],
    "пол": ["M", "F", "M", "F", "M", "F"]
})

dfg.get_summary_report(df, "возраст")
```
---

## 📌 Пример вывода

```angular2html
=== Автоматический анализ данных для 'возраст' ===

Среднее значение: 42.67
Медиана: 27.50
Стандартное отклонение: 38.59
Минимальное значение: 19
Максимальное значение: 120

Аномальные значения по правилу 3σ не обнаружены.
Выявлены аномальные значения по правилу IQR:
   возраст  зарплата пол
5      120    200000   F

Вывод: распределение имеет правостороннюю асимметрию (более высокие значения).
```

---

![PyPI version](https://img.shields.io/pypi/v/datathing)
