MCPcopy
hub / github.com/pydata/xarray / _construct

Method _construct

xarray/computation/rolling.py:425–475  ·  view source on GitHub ↗
(
        self,
        obj: DataArray,
        *,
        window_dim: Hashable | Mapping[Any, Hashable] | None = None,
        stride: int | Mapping[Any, int] = 1,
        fill_value: Any = dtypes.NA,
        keep_attrs: bool | None = None,
        sliding_window_view_kwargs: Mapping[Any, Any] | None = None,
        **window_dim_kwargs: Hashable,
    )

Source from the content-addressed store, hash-verified

423 )
424
425 def _construct(
426 self,
427 obj: DataArray,
428 *,
429 window_dim: Hashable | Mapping[Any, Hashable] | None = None,
430 stride: int | Mapping[Any, int] = 1,
431 fill_value: Any = dtypes.NA,
432 keep_attrs: bool | None = None,
433 sliding_window_view_kwargs: Mapping[Any, Any] | None = None,
434 **window_dim_kwargs: Hashable,
435 ) -> DataArray:
436 from xarray.core.dataarray import DataArray
437
438 if sliding_window_view_kwargs is None:
439 sliding_window_view_kwargs = {}
440
441 keep_attrs = self._get_keep_attrs(keep_attrs)
442
443 if window_dim is None:
444 if len(window_dim_kwargs) == 0:
445 raise ValueError(
446 "Either window_dim or window_dim_kwargs need to be specified."
447 )
448 window_dim = {d: window_dim_kwargs[str(d)] for d in self.dim}
449
450 window_dims = self._mapping_to_list(
451 window_dim, allow_default=False, allow_allsame=False
452 )
453 strides = self._mapping_to_list(stride, default=1)
454
455 window = obj.variable.rolling_window(
456 self.dim,
457 self.window,
458 window_dims,
459 center=self.center,
460 fill_value=fill_value,
461 **sliding_window_view_kwargs,
462 )
463
464 attrs = obj.attrs if keep_attrs else {}
465
466 result = DataArray(
467 window,
468 dims=obj.dims + tuple(window_dims),
469 coords=obj.coords,
470 attrs=attrs,
471 name=obj.name,
472 )
473 return result.isel(
474 {d: slice(None, None, s) for d, s in zip(self.dim, strides, strict=True)}
475 )
476
477 def reduce(
478 self,

Callers 2

constructMethod · 0.95
reduceMethod · 0.95

Calls 5

iselMethod · 0.95
DataArrayClass · 0.90
_mapping_to_listMethod · 0.80
rolling_windowMethod · 0.80
_get_keep_attrsMethod · 0.45

Tested by

no test coverage detected