Helpers to facilitate working with pandas indices in particular multiindices
Project description
Summary
pandas-indexing is a helpers package to make interacting with pandas multi-indices less painful. It contains functions, that
filter easily into multi indices: isin, ismatch
add or update levels in a multiindex: assignlevel
select one or multiple specific levels: projectlevel
Usage
Given you have a time-series like dataframe with several multi index levels, like model, scenario, variable: then you can select a subset with:
df.loc[isin(model="m1", scenario=["s1", "s2"])]
or with shell like glob-patterns:
df.loc[
ismatch(
model="REMIND*", variable="Emissions|**", unit=["Mt CO2/yr", "kt N2O/yr"]
)
]
You can overwrite index levels:
assignlevel(df, selected=1)
or project your data to only a few desired index levels:
projectlevel(df, ["model", "scenario"])
All commands are described in detail in the API reference in documentation and are togehter with introductions for installing and using this package, but they are mostly bare-bones atm.
Issues and Discussions
As usual for any GitHub-based project, raise an issue if you find any bug or want to suggest an improvement, or open a discussion if you want to discuss.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pandas_indexing-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17b292d6f4bff3eae64cd2a040f7e74133a98f677c355855ab1bfe369ab361b2 |
|
MD5 | d8743b1da02f25d58b3cdfbaddb3d324 |
|
BLAKE2b-256 | 961a793cd3d2fb337354d03914252a006d2b8b6bcfc8a29c89e20722d46a6efb |