Skip to main content

Pandas Rose

This python package adds a custom Pandas accessor to generate polar wind rose plots from a Pandas dataframe.

I don't mean to compete with the wonderful windrose package already available, but that package has a little too much complexity for what I wanted. This package is meant to provide a minimal, simple interface to making wind rose plots. This is done by using Pandas methods pd.cut and df.groupby and using Matplotlib regular polar axes.

Install

Install with pip. The requirements are only pandas, numpy, and matplotlib.

pip install pandas-rose

Usage

Pandas-rose is simple.

import pandas as pd
import rose

# df is a pandas dataframe with columns
# "wind_speed" and "wind_direction"
df = pd.DataFrame({
    "wind_speed":[1,2,3,4],
    "wind_direction":[20, 10, 190,300]
})

# Display a polar wind plot of the data
df.rose.plot()

Alt text

You can specify the pandas column to use for wind direction and wind speed. You may also change the number of sectors to bin the wind direction .

df.rose.plot(
    var_column="A",    # name of variable column
    dir_column="B",    # name of direction column
    sectors=8,         # number of sectors (direction bins)
    bins=range(0,30,5) # specify variable bins
    normed=False       # If True, values as percentage instead of counts
    colors='Blues'     # Name of matplotlib colormap or list of colors
    )

There are two other accessors that give some information.

# Display a dataframe of the binned values
df.rose.table(sectors=8)

Alt text

# Display the binned data as bar graph on regular axes.
df.rose.bar()

Alt text

Release files for pandas-rose 2023.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pandas-rose 2023.8.0
File Size Uploaded
pandas-rose-2023.8.0.tar.gz 975.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pandas-rose 2023.8.0
File Interpreter ABI Platform
pandas_rose-2023.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 982.1 kB

Release files / pandas-rose-2023.8.0.tar.gz

Download URL pandas-rose-2023.8.0.tar.gz
Size 975.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3df7320f10bef172f23fa5a0679d12c7c13460dc47a585e831bbd1a8ef512451
BLAKE2b-256 checksum
How to use checksums
bce0be8a68888cc165e2822a348eda743b3df383acc2fcb628204b1dbc3eb787
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / pandas_rose-2023.8.0-py3-none-any.whl

Download URL pandas_rose-2023.8.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
345a09e393cc867ea8854d651142363f32f5906b84053044f492ac775459168e
BLAKE2b-256 checksum
How to use checksums
4880513179c205cffde40fe9e1aea3b04a9f22c002acaa4a22da70aff418371d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

2023.8.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page