Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exploradata-0.1.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exploradata-0.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

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

Hashes for exploradata-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6b4793753fdfb8a4a4a63a6f5bf541d72bcaf0fcd0358fcb39b3b833c77ee940
MD5 6b099ed4e9ed9480ae8ffd32437dc1c9
BLAKE2b-256 e74278f2a5217e9c060c1135fed7fd29a3162d27b5e019340d0420e096ad5d9c

See more details on using hashes here.

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

Hashes for exploradata-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba51c0a54a7debf0cbe5dece2231f27dac9883747382201a95e7512d9b8e49e4
MD5 3f9164891ba80d4d6996874e11b61b70
BLAKE2b-256 02956f6b9d542b82ea40648d41df208dfbad368178d14192c1267b17f8fc3b6b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page