Skip to main content

Funções utilitárias para facilitar o uso do pandas

Project description

📦 bpandas

bpandas é uma coleção de helpers para deixar o uso do pandas mais simples e rápido.
Comece em segundos com tabela de frequências e gráfico barras + linha com dois eixos Y — bonito e profissional.

PyPI Python License: MIT


✨ O que vem pronto

  • bfrequencies(df, column, ...) → distribuição de frequências (absoluta, relativa e acumuladas).
  • blinebar(df, x, y_bar, y_line, ...)barras + linha com dois eixos Y, layout clean (matplotlib puro).

Ideal para relatórios rápidos, EDA e material didático.


📦 Instalação

PyPI (após publicar):

pip install bpandas

Dev local (raiz do projeto):

pip install -e .


Requisitos: Python 3.13. Para versões exatas de libs, veja pyproject.toml.

🚀 Comece em 30 segundos
import pandas as pd
import bpandas as bp

# Exemplo simples
df = pd.DataFrame({"sexo": ["M","F","M","M","F", None]})

# 1) Frequências
freq = bp.bfrequencies(
    df, "sexo",
    include_na=True,       # inclui ausentes
    sort_by="index",       # "index" ou "count"
    ascending=True,
    percent=True,          # True = 0–100%; False = 0–1
    decimals=2
)
print(freq.head())
# -> colunas: value, frequency, relative_frequency, cumulative_frequency, cumulative_relative_frequency

# 2) Gráfico bonito: barras (freq absoluta) + linha (freq relativa acumulada)
bp.blinebar(
    freq,
    x="value",
    y_bar="frequency",
    y_line="cumulative_relative_frequency",
    title="Distribuição por Sexo",
    xlabel="Categorias",
    ylabel_left="Frequência Absoluta",
    ylabel_right="Frequência Acumulada (%)",
    y2_is_percent=True,    # formata eixo direito como %
    rotate_xticks=0,       # 0, 30, 45, 90...
    # savepath="saida.png" # opcional: salva a figura
)

🧠 API (resumo)
bfrequencies(df, column_name, *, include_na=True, sort_by="index", ascending=True, percent=True, decimals=2) -> pd.DataFrame

Entrada: df (DataFrame), column_name (str).

Parâmetros úteis:

include_na: inclui/exclui ausentes (NaN/None).

sort_by: "index" (rótulo) ou "count" (frequência).

percent: True  0–100; False  0–1.

decimals: casas decimais para a relativa.

Saída: DataFrame com:

value, frequency, relative_frequency,
cumulative_frequency, cumulative_relative_frequency.

blinebar(df, x, y_bar, y_line, *, title=None, xlabel=None, ylabel_left="Frequência Absoluta", ylabel_right="Frequência Acumulada (%)", y2_is_percent=True, figsize=(10,6), bar_width=0.65, color_bar=None, color_line=None, rotate_xticks=0, grid=True, savepath=None, show=True) -> (fig, ax, ax2)

Gráfico combinado (barras + linha) com 2 eixos Y.

Usa matplotlib (sem seaborn), com estilo clean e cores automáticas.

y2_is_percent=True formata o eixo direito como % (assumindo 0–100).

Retorna a fig e os axes para customizações extras.

🧪 Testes

Rodar toda a suíte:

python -m pytest -q

🛠 Roadmap (curto)

bsummary(df)  resumo rápido (shape, tipos, nulos, head).

bgroup(df, by, agg)  agrupamentos mais fáceis.

bexport(df, path)  salvar CSV/Excel/Parquet sem dor.

Sugestões são bem-vindas! Abra uma issue 👇
https://github.com/davidcloss/bpandas/issues

📄 Licença

MIT  veja LICENSE
.


se quiser, eu  **adiciono um bloco “Changelog”** no final e monto um `CHANGELOG.md` separado com as entradas dos releases que você fez (incluindo a adição do `bgraphics`).
::contentReference[oaicite:0]{index=0}

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

bpandas-0.1.4.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

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

bpandas-0.1.4-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file bpandas-0.1.4.tar.gz.

File metadata

  • Download URL: bpandas-0.1.4.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Windows/11

File hashes

Hashes for bpandas-0.1.4.tar.gz
Algorithm Hash digest
SHA256 3d80674062f73b2c92f04e9768ab2346d629513c5b37e720d3da6c7a7a5abcd0
MD5 92c31f3e3dea3c92f01351e09268421d
BLAKE2b-256 4daea35c5135d794f0ffbe7ea4f9ef46164a1b482f708c34b2b5650ae0e6e8c0

See more details on using hashes here.

File details

Details for the file bpandas-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: bpandas-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Windows/11

File hashes

Hashes for bpandas-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 865a030749e202ecedb2c7ecfddbdafa6af7a68279bbb5048458fdfa879cd449
MD5 922c368db4e53b9c52b008820b102a99
BLAKE2b-256 5bb00d78cc11d56cfae84d79509a0524b189d4189f3974f2264ec897401fe224

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