Closed danielhuppmann closed 2 years ago
+1, great idea!
I like the idea in general, but am wondering whether an underlying boolean mask, with maybe a method to extract the indices would not be more composable. and i would also argue for either accepting a slice as first positional argument to df.filter
or again to df.__getitem__
, so that:
df[df.slice(region="...")] == df.filter(region="...")
I like your idea about a boolean mask, but I would not how to implement it...
On the second idea about allowing df[df.slice()]
, that sounds great and easily doable...
Closed via #637
Description
We often want to know which elements exist on an dimension after filtering, e.g., which variables exist for a specific region (see https://github.com/IAMconsortium/nomenclature/pull/99). This can be done by the following
However, this is inefficient because this creates a full (downselected) copy of the (timeseries)
data
andmeta
tables.Proposed Solution
A new class IamSlice which is a derivative of the
pd.MultiIndex
of the internal_data
pd.Series. The IamSlice is returned by the methodslice()
, which takes the same arguments asfilter()
.Expected usage