xarray-compare 0.2.0


pip install xarray-compare

  Latest version

Released: Aug 20, 2020


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

PyPI Python Test License DOI

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

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras: None
Dependencies:
numpy (<2.0,>=1.18)
xarray (<0.16,>=0.15)