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

Method _stack_once

xarray/core/variable.py:1503–1527  ·  view source on GitHub ↗
(self, dim: list[Hashable], new_dim: Hashable)

Source from the content-addressed store, hash-verified

1501 return expanded_var.transpose(*dim)
1502
1503 def _stack_once(self, dim: list[Hashable], new_dim: Hashable):
1504 if not set(dim) <= set(self.dims):
1505 raise ValueError(f"invalid existing dimensions: {dim}")
1506
1507 if new_dim in self.dims:
1508 raise ValueError(
1509 "cannot create a new dimension with the same "
1510 "name as an existing dimension"
1511 )
1512
1513 if len(dim) == 0:
1514 # don't stack
1515 return self.copy(deep=False)
1516
1517 other_dims = [d for d in self.dims if d not in dim]
1518 dim_order = other_dims + list(dim)
1519 reordered = self.transpose(*dim_order)
1520
1521 new_shape = reordered.shape[: len(other_dims)] + (-1,)
1522 new_data = duck_array_ops.reshape(reordered.data, new_shape)
1523 new_dims = reordered.dims[: len(other_dims)] + (new_dim,)
1524
1525 return type(self)(
1526 new_dims, new_data, self._attrs, self._encoding, fastpath=True
1527 )
1528
1529 @partial(deprecate_dims, old_name="dimensions")
1530 def stack(self, dim=None, **dim_kwargs):

Callers 1

stackMethod · 0.45

Calls 3

transposeMethod · 0.95
typeFunction · 0.85
copyMethod · 0.45

Tested by

no test coverage detected