MCPcopy Index your code
hub / github.com/pydata/xarray / test_argmin_dim

Method test_argmin_dim

xarray/tests/test_dataarray.py:6502–6739  ·  view source on GitHub ↗
(
        self,
        x: np.ndarray,
        minindices_x: dict[str, np.ndarray],
        minindices_y: dict[str, np.ndarray],
        minindices_z: dict[str, np.ndarray],
        minindices_xy: dict[str, np.ndarray],
        minindices_xz: dict[str, np.ndarray],
        minindices_yz: dict[str, np.ndarray],
        minindices_xyz: dict[str, np.ndarray],
        maxindices_x: dict[str, np.ndarray],
        maxindices_y: dict[str, np.ndarray],
        maxindices_z: dict[str, np.ndarray],
        maxindices_xy: dict[str, np.ndarray],
        maxindices_xz: dict[str, np.ndarray],
        maxindices_yz: dict[str, np.ndarray],
        maxindices_xyz: dict[str, np.ndarray],
        nanindices_x: dict[str, np.ndarray],
        nanindices_y: dict[str, np.ndarray],
        nanindices_z: dict[str, np.ndarray],
        nanindices_xy: dict[str, np.ndarray],
        nanindices_xz: dict[str, np.ndarray],
        nanindices_yz: dict[str, np.ndarray],
        nanindices_xyz: dict[str, np.ndarray],
    )

Source from the content-addressed store, hash-verified

6500)
6501class TestReduce3D(TestReduce):
6502 def test_argmin_dim(
6503 self,
6504 x: np.ndarray,
6505 minindices_x: dict[str, np.ndarray],
6506 minindices_y: dict[str, np.ndarray],
6507 minindices_z: dict[str, np.ndarray],
6508 minindices_xy: dict[str, np.ndarray],
6509 minindices_xz: dict[str, np.ndarray],
6510 minindices_yz: dict[str, np.ndarray],
6511 minindices_xyz: dict[str, np.ndarray],
6512 maxindices_x: dict[str, np.ndarray],
6513 maxindices_y: dict[str, np.ndarray],
6514 maxindices_z: dict[str, np.ndarray],
6515 maxindices_xy: dict[str, np.ndarray],
6516 maxindices_xz: dict[str, np.ndarray],
6517 maxindices_yz: dict[str, np.ndarray],
6518 maxindices_xyz: dict[str, np.ndarray],
6519 nanindices_x: dict[str, np.ndarray],
6520 nanindices_y: dict[str, np.ndarray],
6521 nanindices_z: dict[str, np.ndarray],
6522 nanindices_xy: dict[str, np.ndarray],
6523 nanindices_xz: dict[str, np.ndarray],
6524 nanindices_yz: dict[str, np.ndarray],
6525 nanindices_xyz: dict[str, np.ndarray],
6526 ) -> None:
6527 ar = xr.DataArray(
6528 x,
6529 dims=["x", "y", "z"],
6530 coords={
6531 "x": np.arange(x.shape[0]) * 4,
6532 "y": 1 - np.arange(x.shape[1]),
6533 "z": 2 + 3 * np.arange(x.shape[2]),
6534 },
6535 attrs=self.attrs,
6536 )
6537
6538 for inds in [
6539 minindices_x,
6540 minindices_y,
6541 minindices_z,
6542 minindices_xy,
6543 minindices_xz,
6544 minindices_yz,
6545 minindices_xyz,
6546 ]:
6547 if np.array([np.isnan(i) for i in inds.values()]).any():
6548 with pytest.raises(ValueError):
6549 ar.argmin(dim=list(inds))
6550 return
6551
6552 result0 = ar.argmin(dim=["x"])
6553 assert isinstance(result0, dict)
6554 expected0 = {
6555 key: xr.DataArray(value, dims=("y", "z"), attrs=self.attrs)
6556 for key, value in minindices_x.items()
6557 }
6558 for key in expected0:
6559 assert_identical(result0[key].drop_vars(["y", "z"]), expected0[key])

Callers

nothing calls this directly

Calls 8

argminMethod · 0.95
assert_identicalFunction · 0.90
arangeMethod · 0.80
itemsMethod · 0.80
anyMethod · 0.45
valuesMethod · 0.45
drop_varsMethod · 0.45
whereMethod · 0.45

Tested by

no test coverage detected