Skip to content

Commit 1d6a96f

Browse files
author
Benoit Bovy
committed
fix Coordinate -> IndexVariable
1 parent 936ec55 commit 1d6a96f

File tree

6 files changed

+19
-16
lines changed

6 files changed

+19
-16
lines changed

xarray/core/coordinates.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,8 @@ def _names(self):
245245
@property
246246
def variables(self):
247247
level_coords = OrderedDict(
248-
(k, self._data[v].variable.get_level_coord(k))
249-
for k, v in self._data._level_coords.items())
248+
(k, self._data[v].variable.get_level_variable(k))
249+
for k, v in self._data._level_coords.items())
250250
return Frozen(level_coords)
251251

252252

xarray/core/dataarray.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ def _level_coords(self):
429429
level_coords = OrderedDict()
430430
for cname, var in self._coords.items():
431431
if var.ndim == 1:
432-
level_names = var.to_coord().level_names
432+
level_names = var.to_index_variable().level_names
433433
if level_names is not None:
434434
dim = var.dims[0]
435435
level_coords.update({lname: dim for lname in level_names})

xarray/core/dataset.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def _get_virtual_variable(variables, key, level_vars={}):
5050

5151
if ref_name in level_vars:
5252
dim_var = variables[level_vars[ref_name]]
53-
ref_var = dim_var.to_coord().get_level_coord(ref_name)
53+
ref_var = dim_var.to_index_variable().get_level_variable(ref_name)
5454
else:
5555
ref_var = variables[ref_name]
5656

@@ -447,7 +447,7 @@ def _level_coords(self):
447447
for cname in self._coord_names:
448448
var = self.variables[cname]
449449
if var.ndim == 1:
450-
level_names = var.to_coord().level_names
450+
level_names = var.to_index_variable().level_names
451451
if level_names is not None:
452452
dim = var.dims[0]
453453
level_coords.update({lname: dim for lname in level_names})

xarray/core/formatting.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,8 @@ def _summarize_coord_multiindex(coord, col_width, marker):
212212
def _summarize_coord_levels(coord, col_width, marker=u'-'):
213213
relevant_coord = coord[:30]
214214
return u'\n'.join(
215-
[_summarize_var_or_coord(lname, relevant_coord.get_level_coord(lname),
215+
[_summarize_var_or_coord(lname,
216+
relevant_coord.get_level_variable(lname),
216217
col_width, marker=marker)
217218
for lname in coord.level_names])
218219

@@ -237,7 +238,7 @@ def summarize_coord(name, var, col_width):
237238
show_values = is_index or _not_remote(var)
238239
marker = u'*' if is_index else u' '
239240
if is_index:
240-
coord = var.variable.to_coord()
241+
coord = var.variable.to_index_variable()
241242
if coord.level_names is not None:
242243
return u'\n'.join(
243244
[_summarize_coord_multiindex(coord, col_width, marker),

xarray/core/indexing.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,8 @@ def convert_label_indexer(index, label, index_name='', method=None,
216216

217217

218218
def get_dim_indexers(data_obj, indexers):
219-
"""Given an xarray data object and label based indexers, return a mapping
220-
of indexers with only dimension names as keys.
219+
"""Given a xarray data object and label based indexers, return a mapping
220+
of label indexers with only dimension names as keys.
221221
222222
It groups multiple level indexers given on a multi-index dimension
223223
into a single, dictionary indexer for that dimension (Raise a ValueError

xarray/core/variable.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -1079,7 +1079,8 @@ class IndexVariable(Variable):
10791079
def __init__(self, dims, data, attrs=None, encoding=None,
10801080
name=None, fastpath=False):
10811081

1082-
super(IndexVariable, self).__init__(dim, data, attrs, encoding, fastpath)
1082+
super(IndexVariable, self).__init__(dims, data, attrs, encoding,
1083+
fastpath)
10831084
if self.ndim != 1:
10841085
raise ValueError('%s objects must be 1-dimensional' %
10851086
type(self).__name__)
@@ -1183,7 +1184,7 @@ def to_index(self):
11831184

11841185
@property
11851186
def level_names(self):
1186-
"""Return MultiIndex level names or None if Coordinate has no
1187+
"""Return MultiIndex level names or None if this IndexVariable has no
11871188
MultiIndex.
11881189
"""
11891190
index = self.to_index()
@@ -1194,12 +1195,13 @@ def level_names(self):
11941195

11951196
@level_names.setter
11961197
def level_names(self, value):
1197-
raise AttributeError('cannot modify level names of Coordinate in-place')
1198+
raise AttributeError('cannot modify level names of '
1199+
'IndexVariable in-place')
11981200

1199-
def get_level_coord(self, level):
1200-
"""Return a new Coordinate from a given MultiIndex level."""
1201+
def get_level_variable(self, level):
1202+
"""Return a new IndexVariable from a given MultiIndex level."""
12011203
if self.level_names is None:
1202-
raise ValueError("Coordinate %s has no MultiIndex" % self.name)
1204+
raise ValueError("IndexVariable %r has no MultiIndex" % self.name)
12031205
index = self.to_index()
12041206
return type(self)(self.dims, index.get_level_values(level), name=level)
12051207

@@ -1318,7 +1320,7 @@ def assert_unique_multiindex_level_names(variables):
13181320
level_names = defaultdict(list)
13191321
for var_name, var in variables.items():
13201322
if isinstance(var._data, PandasIndexAdapter):
1321-
idx_level_names = var.to_coord().level_names
1323+
idx_level_names = var.to_index_variable().level_names
13221324
if idx_level_names is not None:
13231325
for n in idx_level_names:
13241326
level_names[n].append('%r (%s)' % (n, var_name))

0 commit comments

Comments
 (0)