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 de barras + linha (dois eixos Y) — limpo e profissional.
✨ 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 (matplotlib puro, layout clean).
Ideal para dashboards rápidos, EDA e material didático.
📦 Instalação
PyPI:
pip install bpandas
Dev local (na raiz do projeto):
bash
Copiar
Editar
pip install -e .
Requisitos: Python 3.13. As versões das libs estão pinadas no pyproject.toml.
🚀 Comece em 30 segundos
python
Copiar
Editar
import pandas as pd
import bpandas as bp
# Exemplo simples
df = pd.DataFrame({"sexo": ["M","F","M","M","F", None]})
# 1) Tabela de 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: 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) • sort_by ("index"/"count") • percent (0–100 vs 0–1) • decimals.
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.
y2_is_percent=True formata o eixo direito como % (assumindo 0–100).
Retorna fig, ax, ax2 para customizações posteriores.
🧪 Testes
bash
Copiar
Editar
python -m pytest -q
🛠 Roadmap
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.
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.7.tar.gz
(6.6 kB
view details)
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 bpandas-0.1.7.tar.gz.
File metadata
- Download URL: bpandas-0.1.7.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e087dddb8615182210836c5abbc9c455a8717da01dfaf15fd7be29531e94ed0e
|
|
| MD5 |
1a7456d4fc84aab3083f294aabddd30e
|
|
| BLAKE2b-256 |
28165b9ddef92c95df3b6efa158e805190d97f438ee20c5e8ed125330de70b8e
|
File details
Details for the file bpandas-0.1.7-py3-none-any.whl.
File metadata
- Download URL: bpandas-0.1.7-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
159dc753b43d821bc548e71e168165c52306469ea65ab509d4c16dc955f46ca1
|
|
| MD5 |
3119a9cf3c8fc346404112aeb61b2bde
|
|
| BLAKE2b-256 |
ced353c943d50c7f0e6082ef2729b7b822082a7bccf00af689f3b1a872f4e7c4
|