xarray extension for data comparison
Project Links
Meta
Author: Akio Taniguchi
Requires Python: >=3.6,<4.0
Classifiers
License
- OSI Approved :: MIT License
Programming Language
- Python :: 3
- Python :: 3.6
- Python :: 3.7
- Python :: 3.8
xarray-compare
xarray extension for data comparison
TL;DR
xarray-compare is a third-party Python package which provides extra data-comparison features.
After importing the package, several DataArray methods (dataarray.is*()) will be available.
Requirements
- Python: 3.6, 3.7, or 3.8 (tested by the author)
- Dependencies: See pyproject.toml
Installation
$ pip install xarray-compare
List of available methods
.isbetween(lower, upper): Test whether each value in a DataArray falls within an interval.ismatch(pattern): Test whether each string in a DataArray matches a regex pattern
Methods of "not-in" version are also provided for readability.
.isnotin(values): Equivalent to~dataarray.isin(values)(.isin()is an xarray's builtin).isnotbetween(lower, upper): Equivalent to~dataarray.isbetween(lower, upper).isnotmatch(pattern): Equivalent to~dataarray.ismatch(pattern)
Examples
xarray-compare is a just-import package. After importing it, methods become available from normal DataArray instances.
import xarray as xr
import xarray_compare
A method returns a boolean DataArray each value of which is True where that of the input DataArray fulfills the condition and False otherwise.
This is why it works well with the dataarray.where() method.
da = xr.DataArray([0, 1, 1, 2, 3, 5, 8, 13])
da.where(da.isbetween(1, 4), drop=True)
# <xarray.DataArray (dim_0: 4)>
# array([1., 1., 2., 3.])
# Dimensions without coordinates: dim_0
da = xr.DataArray(['a', 'aa', 'ab', 'bc'])
da.where(da.ismatch("^a+$"), drop=True)
# <xarray.DataArray (dim_0: 2)>
# array(['a', 'aa'], dtype=object)
# Dimensions without coordinates: dim_0