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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef6543d70c6cf069f1bc58fdcaeb4fe6ab60d62bf8db6826d182505828e1e664 |
|
MD5 | 16e42c87e66bd7f7d3ae8f61d729c580 |
|
BLAKE2b-256 | aca68a2f65def0b9ec04948fbea6e944972d4959e394f04514dc5c0535330eb3 |