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

Method create_variables

xarray/core/indexes.py:1255–1289  ·  view source on GitHub ↗
(
        self, variables: Mapping[Any, Variable] | None = None
    )

Source from the content-addressed store, hash-verified

1253 return self._replace(index, level_coords_dtype=level_coords_dtype)
1254
1255 def create_variables(
1256 self, variables: Mapping[Any, Variable] | None = None
1257 ) -> IndexVars:
1258 from xarray.core.variable import IndexVariable
1259
1260 if variables is None:
1261 variables = {}
1262
1263 index_vars: IndexVars = {}
1264 for name in (self.dim,) + tuple(self.index.names):
1265 if name == self.dim:
1266 level = None
1267 dtype = None
1268 else:
1269 level = name
1270 dtype = self.level_coords_dtype[name]
1271
1272 var = variables.get(name)
1273 if var is not None:
1274 attrs = var.attrs
1275 encoding = var.encoding
1276 else:
1277 attrs = {}
1278 encoding = {}
1279
1280 data = PandasMultiIndexingAdapter(self.index, dtype=dtype, level=level) # type: ignore[arg-type] # TODO: are Hashables ok?
1281 index_vars[name] = IndexVariable(
1282 self.dim,
1283 data,
1284 attrs=attrs,
1285 encoding=encoding,
1286 fastpath=True,
1287 )
1288
1289 return index_vars
1290
1291 def sel(self, labels, method=None, tolerance=None) -> IndexSelResult:
1292 from xarray.core.dataarray import DataArray

Callers 4

_unstack_full_reindexMethod · 0.95
test_create_variablesMethod · 0.95

Calls 3

IndexVariableClass · 0.90
getMethod · 0.45

Tested by 1

test_create_variablesMethod · 0.76