Skip to main content

A collection of helper for table handling and vizualization

Project description

pandas-plots

PyPI - Version GitHub last commit GitHub License py3.10

usage

install / update package

pip install pandas-plots -U

include in python

from pandas_plots import tbl, pls, ven, hlp, pii

example

# load sample dataset from seaborn
import seaborn as sb
df = sb.load_dataset('taxis')
_df = df[["passengers", "distance", "fare"]][:5]
tbl.show_num_df(
    _df,
    total_axis="xy",
    total_mode="mean",
    data_bar_axis="xy",
    pct_axis="xy",
    precision=0,
    kpi_mode="max_min_x",
    kpi_rag_list=(1,7),
)

show_num

why use pandas-plots

pandas-plots is a package to help you examine and visualize data that are organized in a pandas DataFrame. It provides a high level api to pandas / plotly with some selected functions and predefined options:

  • tbl utilities for table descriptions

    • 🌟show_num_df() displays a table as styled version with additional information
    • describe_df() an alternative version of pandas describe() function
    • descr_db() a very short descr for a duckdb relation
    • pivot_df() gets a pivot table of a 3 column dataframe (or 2 columns if no weights are given)
    • print_summary() shows statistics for a pandas DataFrame or Series
  • pls for plotly visualizations

    • plot_box() auto annotated boxplot w/ violin option
    • plot_boxes() multiple boxplots (annotation is experimental)
    • plot_stacked_bars() shortcut to stacked bars 😄
    • plots_bars() a standardized bar plot for a categorical column
      • features confidence intervals via use_ci option
    • plot_histogram() histogram for one or more numerical columns
    • plot_joints() a joint plot for exactly two numerical columns
    • plot_quadrants() quickly shows a 2x2 heatmap
  • ven offers functions for venn diagrams

    • show_venn2() displays a venn diagram for 2 sets
    • show_venn3() displays a venn diagram for 3 sets
  • hlp contains some (variety) helper functions

    • df_to_series() converts a dataframe to a series
    • mean_confidence_interval() calculates mean and confidence interval for a series
    • wrap_text() formats strings or lists to a given width to fit nicely on the screen
    • replace_delimiter_outside_quotes() when manual import of csv files is needed: replaces delimiters only outside of quotes
    • create_barcode_from_url() creates a barcode from a given URL
    • add_datetime_col() adds a datetime columns to a dataframe
    • show_package_version prints version of a list of packages
    • get_os helps to identify and ensure operating system at runtime
  • pii has routines for handling of personally identifiable information

    • remove_pii() logs and deletes pii from a series

note: theme setting can be controlled through all functions by setting the environment variable THEME to either light or dark

more examples

pls.plot_box(df['fare'], height=400, violin=True)

plot_box

# quick and exhaustive description of any table
tbl.describe_df(df, 'taxis', top_n_uniques=5)

describe_df

# show bars with confidence intervals
_df = df[["payment", "fare"]]
pls.plot_bars(
    _df,
    dropna=False,
    use_ci=True,
    height=600,
    width=800,
    precision=1,
)

bars_with_ci

# show venn diagram for 3 sets
from pandas_plots import ven

set_a = {'ford','ferrari','mercedes', 'bmw'}
set_b = {'opel','bmw','bentley','audi'}
set_c = {'ferrari','bmw','chrysler','renault','peugeot','fiat'}
_df, _details = ven.show_venn3(
    title="taxis",
    a_set=set_a,
    a_label="cars1",
    b_set=set_b,
    b_label="cars2",
    c_set=set_c,
    c_label="cars3",
    verbose=0,
    size=8,
)

venn

tags

#pandas, #plotly, #visualizations, #statistics

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

pandas_plots-0.11.18.tar.gz (31.0 kB view details)

Uploaded Source

Built Distribution

pandas_plots-0.11.18-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

Details for the file pandas_plots-0.11.18.tar.gz.

File metadata

  • Download URL: pandas_plots-0.11.18.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pandas_plots-0.11.18.tar.gz
Algorithm Hash digest
SHA256 e38faebfa35e879139daf70fd8ee25c767f12bc89deaf5630c7d430014504c71
MD5 9d2343bccec169ffba33654071b49ad5
BLAKE2b-256 b729de1306842f25121d0564187699c57df1816d7a384852b93f801a6b6d979b

See more details on using hashes here.

File details

Details for the file pandas_plots-0.11.18-py3-none-any.whl.

File metadata

File hashes

Hashes for pandas_plots-0.11.18-py3-none-any.whl
Algorithm Hash digest
SHA256 2c453733274096a449c963983698858c76f66e2d6b5b58d1a5ae7dd785f6b913
MD5 f444ce97b7102ab34e5c7b276893f6b8
BLAKE2b-256 2da59567c6d29ade92df5802908c96671971874c7f90e4f07274c0668df3b413

See more details on using hashes here.

Supported by

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