Ferramentas simples e composáveis para exploração de DataFrames (EDA)
Project description
exploradata
Ferramentas simples e composáveis para exploração de DataFrames pandas (EDA).
Todas as funções retornam DataFrames — dá para filtrar, ordenar, exportar e encadear. Quando você só quer olhar, use verbose=True ou a função profile().
Instalação
pip install git+https://github.com/anna-gatelli/exploradata.git
Ou, para desenvolvimento local:
git clone https://github.com/anna-gatelli/exploradata.git
cd exploradata
pip install -e ".[dev]"
Uso rápido
import pandas as pd
import exploradata as xd
df = pd.read_csv("dados.csv")
# Relatório completo de uma vez
report = xd.profile(df)
# Ou função por função:
xd.unique_values(df, "cidade") # únicos com frequência e %
xd.summary(df) # df.info() melhorado
xd.missing(df) # nulos ranqueados
xd.outliers(df) # outliers por IQR (ou method="zscore")
xd.peek(df) # head + amostra aleatória + tail
Funções
Visão geral
| Função | O que faz |
|---|---|
summary(df) |
Tipo, nulos, únicos, cardinalidade e memória por coluna |
peek(df, n=5) |
head + amostra aleatória + tail em um só DataFrame |
detect_types(df) |
Detecta números, datas e booleanos "disfarçados" em colunas de texto |
Qualidade
| Função | O que faz |
|---|---|
missing(df) |
Nulos por coluna (contagem e %), ranqueados |
duplicates(df, subset=None) |
Linhas duplicadas, completas ou por chave |
outliers(df, method="iqr") |
Outliers por IQR ou z-score nas numéricas |
text_issues(df) |
Espaços extras e variações de capitalização que inflam os únicos |
Por coluna
| Função | O que faz |
|---|---|
unique_values(df, coluna, top=20) |
Valores únicos com frequência e % (sem coluna: todas) |
cardinality(df) |
% de únicos + classificação (id, categoria, constante...) |
describe_numeric(df) |
Estatísticas + percentis + skewness + kurtosis |
describe_categorical(df) |
Moda, frequências e top valores |
Relações
| Função | O que faz |
|---|---|
correlation(df, method="pearson") |
Matriz de correlação (pearson/spearman/kendall) |
high_correlations(df, threshold=0.9) |
Pares de colunas possivelmente redundantes |
constant_columns(df) |
Colunas constantes ou quase constantes |
Consolidado
| Função | O que faz |
|---|---|
profile(df) |
Roda tudo e imprime relatório organizado; retorna dict de DataFrames |
compare(df_a, df_b) |
Compara schema e distribuições — útil pra validar cargas |
Exemplo de saída
>>> xd.unique_values(df, "cidade")
valor frequencia pct
0 SP 38 38.00
1 RJ 25 25.00
2 BH 20 20.00
3 sp 10 10.00
4 " SP" 7 7.00
Repare que text_issues(df) avisaria que "SP", "sp" e " SP" provavelmente são o mesmo valor.
Rodando os testes
pytest
Licença
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exploradata-0.1.0.tar.gz.
File metadata
- Download URL: exploradata-0.1.0.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b4793753fdfb8a4a4a63a6f5bf541d72bcaf0fcd0358fcb39b3b833c77ee940
|
|
| MD5 |
6b099ed4e9ed9480ae8ffd32437dc1c9
|
|
| BLAKE2b-256 |
e74278f2a5217e9c060c1135fed7fd29a3162d27b5e019340d0420e096ad5d9c
|
File details
Details for the file exploradata-0.1.0-py3-none-any.whl.
File metadata
- Download URL: exploradata-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba51c0a54a7debf0cbe5dece2231f27dac9883747382201a95e7512d9b8e49e4
|
|
| MD5 |
3f9164891ba80d4d6996874e11b61b70
|
|
| BLAKE2b-256 |
02956f6b9d542b82ea40648d41df208dfbad368178d14192c1267b17f8fc3b6b
|