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.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bf4b7017ad800f329f9beae39b93f31eefca191fb0829195a900b61d18b8a0f |
|
MD5 | 56c57d154c6722b97580d6631cf795a8 |
|
BLAKE2b-256 | 0ac588301358cf0fc44f55bc6ab43b5d98441b6e3c263299df1d46a99075ac0f |