Skip to content

Commit 5d255e1

Browse files
committed
Rename xray.Index back to Coordinate
Related pydata#142, pydata#161 Fixes pydata#178
1 parent e2be878 commit 5d255e1

File tree

12 files changed

+338
-332
lines changed

12 files changed

+338
-332
lines changed

test/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,24 +112,24 @@ def assertDatasetAllClose(self, d1, d2, rtol=1e-05, atol=1e-08):
112112
v2 = d2.variables[k]
113113
self.assertVariableAllClose(v1, v2, rtol=rtol, atol=atol)
114114

115-
def assertIndexesEqual(self, d1, d2):
116-
self.assertEqual(sorted(d1.indexes), sorted(d2.indexes))
117-
for k in d1.indexes:
118-
v1 = d1.indexes[k]
119-
v2 = d2.indexes[k]
115+
def assertCoordinatesEqual(self, d1, d2):
116+
self.assertEqual(sorted(d1.coordinates), sorted(d2.coordinates))
117+
for k in d1.coordinates:
118+
v1 = d1.coordinates[k]
119+
v2 = d2.coordinates[k]
120120
self.assertVariableEqual(v1, v2)
121121

122122
def assertDataArrayEqual(self, ar1, ar2):
123123
self.assertVariableEqual(ar1, ar2)
124-
self.assertIndexesEqual(ar1, ar2)
124+
self.assertCoordinatesEqual(ar1, ar2)
125125

126126
def assertDataArrayIdentical(self, ar1, ar2):
127127
self.assertEqual(ar1.name, ar2.name)
128128
self.assertDatasetIdentical(ar1.dataset, ar2.dataset)
129129

130130
def assertDataArrayAllClose(self, ar1, ar2, rtol=1e-05, atol=1e-08):
131131
self.assertVariableAllClose(ar1, ar2, rtol=rtol, atol=atol)
132-
self.assertIndexesEqual(ar1, ar2)
132+
self.assertCoordinatesEqual(ar1, ar2)
133133

134134

135135
class ReturnItem(object):

test/test_data_array.py

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from copy import deepcopy
44
from textwrap import dedent
55

6-
from xray import Dataset, DataArray, Index, Variable, align
6+
from xray import Dataset, DataArray, Coordinate, Variable, align
77
from xray.pycompat import iteritems, OrderedDict
88
from . import TestCase, ReturnItem, source_ndarray
99

@@ -25,7 +25,7 @@ def test_repr(self):
2525
<xray.DataArray 'my_variable' (time: 2, x: 3)>
2626
array([[1, 2, 3],
2727
[4, 5, 6]])
28-
Indexes:
28+
Coordinates:
2929
time: Int64Index([0, 1], dtype='int64')
3030
x: Int64Index([0, 1, 2], dtype='int64')
3131
Linked dataset variables:
@@ -44,9 +44,9 @@ def test_properties(self):
4444
self.assertEqual(getattr(self.dv, attr), getattr(self.v, attr))
4545
self.assertEqual(len(self.dv), len(self.v))
4646
self.assertVariableEqual(self.dv, self.v)
47-
self.assertEqual(list(self.dv.indexes), list(self.ds.indexes))
48-
for k, v in iteritems(self.dv.indexes):
49-
self.assertArrayEqual(v, self.ds.indexes[k])
47+
self.assertEqual(list(self.dv.coordinates), list(self.ds.coordinates))
48+
for k, v in iteritems(self.dv.coordinates):
49+
self.assertArrayEqual(v, self.ds.coordinates[k])
5050
with self.assertRaises(AttributeError):
5151
self.dv.name = 'bar'
5252
with self.assertRaises(AttributeError):
@@ -85,25 +85,25 @@ def test_constructor(self):
8585
'y': ('y', [-1, -2, -3])})[None]
8686
self.assertDataArrayIdentical(expected, actual)
8787

88-
indexes = [['a', 'b'], [-1, -2, -3]]
89-
actual = DataArray(data, indexes, ['x', 'y'])
88+
coordinates = [['a', 'b'], [-1, -2, -3]]
89+
actual = DataArray(data, coordinates, ['x', 'y'])
9090
self.assertDataArrayIdentical(expected, actual)
9191

92-
indexes = [pd.Index(['a', 'b'], name='A'),
92+
coordinates = [pd.Index(['a', 'b'], name='A'),
9393
pd.Index([-1, -2, -3], name='B')]
94-
actual = DataArray(data, indexes, ['x', 'y'])
94+
actual = DataArray(data, coordinates, ['x', 'y'])
9595
self.assertDataArrayIdentical(expected, actual)
9696

97-
indexes = {'x': ['a', 'b'], 'y': [-1, -2, -3]}
98-
actual = DataArray(data, indexes, ['x', 'y'])
97+
coordinates = {'x': ['a', 'b'], 'y': [-1, -2, -3]}
98+
actual = DataArray(data, coordinates, ['x', 'y'])
9999
self.assertDataArrayIdentical(expected, actual)
100100

101-
indexes = OrderedDict([('x', ['a', 'b']), ('y', [-1, -2, -3])])
102-
actual = DataArray(data, indexes)
101+
coordinates = OrderedDict([('x', ['a', 'b']), ('y', [-1, -2, -3])])
102+
actual = DataArray(data, coordinates)
103103
self.assertDataArrayIdentical(expected, actual)
104104

105-
indexes = pd.Series([['a', 'b'], [-1, -2, -3]], ['x', 'y'])
106-
actual = DataArray(data, indexes)
105+
coordinates = pd.Series([['a', 'b'], [-1, -2, -3]], ['x', 'y'])
106+
actual = DataArray(data, coordinates)
107107
self.assertDataArrayIdentical(expected, actual)
108108

109109
expected = Dataset({None: (['x', 'y'], data),
@@ -146,7 +146,7 @@ def test_constructor(self):
146146
def test_constructor_from_self_described(self):
147147
data = [[-0.1, 21], [0, 2]]
148148
expected = DataArray(data,
149-
indexes={'x': ['a', 'b'], 'y': [-1, -2]},
149+
coordinates={'x': ['a', 'b'], 'y': [-1, -2]},
150150
dimensions=['x', 'y'], name='foobar',
151151
attributes={'bar': 2}, encoding={'foo': 3})
152152
actual = DataArray(expected)
@@ -163,7 +163,7 @@ def test_constructor_from_self_described(self):
163163

164164
panel = pd.Panel({0: frame})
165165
actual = DataArray(panel)
166-
expected = DataArray([data], expected.indexes, ['dim_0', 'x', 'y'])
166+
expected = DataArray([data], expected.coordinates, ['dim_0', 'x', 'y'])
167167
self.assertDataArrayIdentical(expected, actual)
168168

169169
expected = DataArray(['a', 'b'], name='foo')
@@ -249,30 +249,30 @@ def test_loc(self):
249249
da.loc['a':'j'] = 0
250250
self.assertTrue(np.all(da.values == 0))
251251

252-
def test_indexes(self):
253-
indexes = [Index('x', [-1, -2]), Index('y', [0, 1, 2])]
254-
da = DataArray(np.random.randn(2, 3), indexes, name='foo')
252+
def test_coordinates(self):
253+
coordinates = [Coordinate('x', [-1, -2]), Coordinate('y', [0, 1, 2])]
254+
da = DataArray(np.random.randn(2, 3), coordinates, name='foo')
255255

256-
self.assertEquals(2, len(da.indexes))
256+
self.assertEquals(2, len(da.coordinates))
257257

258-
self.assertEquals(['x', 'y'], list(da.indexes))
258+
self.assertEquals(['x', 'y'], list(da.coordinates))
259259

260-
self.assertTrue(da.indexes[0].identical(indexes[0]))
261-
self.assertTrue(da.indexes['x'].identical(indexes[0]))
262-
self.assertTrue(da.indexes[1].identical(indexes[1]))
263-
self.assertTrue(da.indexes['y'].identical(indexes[1]))
260+
self.assertTrue(da.coordinates[0].identical(coordinates[0]))
261+
self.assertTrue(da.coordinates['x'].identical(coordinates[0]))
262+
self.assertTrue(da.coordinates[1].identical(coordinates[1]))
263+
self.assertTrue(da.coordinates['y'].identical(coordinates[1]))
264264

265-
self.assertIn('x', da.indexes)
266-
self.assertNotIn(0, da.indexes)
267-
self.assertNotIn('foo', da.indexes)
265+
self.assertIn('x', da.coordinates)
266+
self.assertNotIn(0, da.coordinates)
267+
self.assertNotIn('foo', da.coordinates)
268268

269269
with self.assertRaises(KeyError):
270-
da.indexes['foo']
270+
da.coordinates['foo']
271271

272272
expected = dedent("""\
273273
x: Int64Index([-1, -2], dtype='int64')
274274
y: Int64Index([0, 1, 2], dtype='int64')""")
275-
actual = repr(da.indexes)
275+
actual = repr(da.coordinates)
276276
self.assertEquals(expected, actual)
277277

278278
def test_reindex(self):
@@ -474,12 +474,12 @@ def make_groupby_example_array(self):
474474
def test_groupby_properties(self):
475475
grouped = self.make_groupby_example_array().groupby('abc')
476476
expected_unique = Variable('abc', ['a', 'b', 'c'])
477-
self.assertVariableEqual(expected_unique, grouped.unique_index)
477+
self.assertVariableEqual(expected_unique, grouped.unique_coord)
478478
self.assertEqual(3, len(grouped))
479479

480480
def test_groupby_apply_identity(self):
481481
expected = self.make_groupby_example_array()
482-
idx = expected.indexes['y']
482+
idx = expected.coordinates['y']
483483
identity = lambda x: x
484484
for g in ['x', 'y', 'abc', idx]:
485485
for shortcut in [False, True]:

test/test_dataset.py

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import numpy as np
99
import pandas as pd
1010

11-
from xray import (Dataset, DataArray, Index, Variable,
11+
from xray import (Dataset, DataArray, Coordinate, Variable,
1212
backends, utils, align, indexing)
1313
from xray.pycompat import iteritems, OrderedDict
1414

@@ -73,16 +73,16 @@ def test_repr(self):
7373
data = create_test_data()
7474
expected = dedent("""
7575
<xray.Dataset>
76-
Dimensions: (dim1: 100, dim2: 50, dim3: 10, time: 20)
77-
Indexes:
78-
dim1 X
79-
dim2 X
80-
dim3 X
81-
time X
82-
Non-indexes:
83-
var1 0 1
84-
var2 0 1
85-
var3 1 0
76+
Dimensions: (dim1: 100, dim2: 50, dim3: 10, time: 20)
77+
Coordinates:
78+
dim1 X
79+
dim2 X
80+
dim3 X
81+
time X
82+
Noncoordinates:
83+
var1 0 1
84+
var2 0 1
85+
var3 1 0
8686
Attributes:
8787
Empty
8888
""").strip()
@@ -91,10 +91,10 @@ def test_repr(self):
9191

9292
expected = dedent("""
9393
<xray.Dataset>
94-
Dimensions: ()
95-
Indexes:
94+
Dimensions: ()
95+
Coordinates:
9696
None
97-
Non-indexes:
97+
Noncoordinates:
9898
None
9999
Attributes:
100100
Empty
@@ -130,14 +130,14 @@ def test_variable(self):
130130
with self.assertRaises(ValueError):
131131
a['qux'] = (('time', 'x'), d.T)
132132

133-
def test_indexes_create(self):
133+
def test_coordinates_create(self):
134134
a = Dataset()
135135
vec = np.random.random((10,))
136136
attributes = {'foo': 'bar'}
137137
a['x'] = ('x', vec, attributes)
138-
self.assertTrue('x' in a.indexes)
139-
self.assertIsInstance(a.indexes['x'].as_pandas, pd.Index)
140-
self.assertVariableIdentical(a.indexes['x'], a.variables['x'])
138+
self.assertTrue('x' in a.coordinates)
139+
self.assertIsInstance(a.coordinates['x'].as_index, pd.Index)
140+
self.assertVariableIdentical(a.coordinates['x'], a.variables['x'])
141141
b = Dataset()
142142
b['x'] = ('x', vec, attributes)
143143
self.assertVariableIdentical(a['x'], b['x'])
@@ -156,31 +156,31 @@ def test_indexes_create(self):
156156
a['y'] = ('y', scal)
157157
self.assertTrue('y' not in a.dimensions)
158158

159-
def test_indexes_properties(self):
159+
def test_coordinates_properties(self):
160160
data = Dataset({'x': ('x', [-1, -2]),
161161
'y': ('y', [0, 1, 2]),
162162
'foo': (['x', 'y'], np.random.randn(2, 3))})
163163

164-
self.assertEquals(2, len(data.indexes))
164+
self.assertEquals(2, len(data.coordinates))
165165

166-
self.assertEquals(set(['x', 'y']), set(data.indexes))
166+
self.assertEquals(set(['x', 'y']), set(data.coordinates))
167167

168-
self.assertVariableIdentical(data.indexes['x'], data['x'].variable)
169-
self.assertVariableIdentical(data.indexes['y'], data['y'].variable)
168+
self.assertVariableIdentical(data.coordinates['x'], data['x'].variable)
169+
self.assertVariableIdentical(data.coordinates['y'], data['y'].variable)
170170

171-
self.assertIn('x', data.indexes)
172-
self.assertNotIn(0, data.indexes)
173-
self.assertNotIn('foo', data.indexes)
171+
self.assertIn('x', data.coordinates)
172+
self.assertNotIn(0, data.coordinates)
173+
self.assertNotIn('foo', data.coordinates)
174174

175175
with self.assertRaises(KeyError):
176-
data.indexes['foo']
176+
data.coordinates['foo']
177177
with self.assertRaises(KeyError):
178-
data.indexes[0]
178+
data.coordinates[0]
179179

180180
expected = dedent("""\
181181
x: Int64Index([-1, -2], dtype='int64')
182182
y: Int64Index([0, 1, 2], dtype='int64')""")
183-
actual = repr(data.indexes)
183+
actual = repr(data.coordinates)
184184
self.assertEquals(expected, actual)
185185

186186
def test_equals_and_identical(self):
@@ -240,18 +240,18 @@ def test_isel(self):
240240

241241
ret = data.isel(dim1=0)
242242
self.assertEqual({'time': 20, 'dim2': 50, 'dim3': 10}, ret.dimensions)
243-
self.assertItemsEqual(list(data.nonindexes) + ['dim1'],
244-
ret.nonindexes)
243+
self.assertItemsEqual(list(data.noncoordinates) + ['dim1'],
244+
ret.noncoordinates)
245245

246246
ret = data.isel(time=slice(2), dim1=0, dim2=slice(5))
247247
self.assertEqual({'time': 2, 'dim2': 5, 'dim3': 10}, ret.dimensions)
248-
self.assertItemsEqual(list(data.nonindexes) + ['dim1'],
249-
ret.nonindexes)
248+
self.assertItemsEqual(list(data.noncoordinates) + ['dim1'],
249+
ret.noncoordinates)
250250

251251
ret = data.isel(time=0, dim1=0, dim2=slice(5))
252252
self.assertItemsEqual({'dim2': 5, 'dim3': 10}, ret.dimensions)
253-
self.assertItemsEqual(list(data.nonindexes) + ['dim1', 'time'],
254-
ret.nonindexes)
253+
self.assertItemsEqual(list(data.noncoordinates) + ['dim1', 'time'],
254+
ret.noncoordinates)
255255

256256
def test_sel(self):
257257
data = create_test_data()
@@ -467,7 +467,7 @@ def test_virtual_variables(self):
467467
self.assertVariableEqual(data['time.dayofyear'],
468468
Variable('time', 1 + np.arange(20)))
469469
self.assertArrayEqual(data['time.month'].values,
470-
data.variables['time'].as_pandas.month)
470+
data.variables['time'].as_index.month)
471471
self.assertArrayEqual(data['time.season'].values, 1)
472472
# test virtual variable math
473473
self.assertArrayEqual(data['time.dayofyear'] + 1, 2 + np.arange(20))
@@ -563,7 +563,7 @@ def test_groupby_errors(self):
563563
with self.assertRaisesRegexp(ValueError, 'length does not match'):
564564
data.groupby(data['dim1'][:3])
565565
with self.assertRaisesRegexp(ValueError, "must have a 'dimensions'"):
566-
data.groupby(data.indexes['dim1'].as_pandas)
566+
data.groupby(data.coordinates['dim1'].as_index)
567567

568568
def test_groupby_reduce(self):
569569
data = Dataset({'xy': (['x', 'y'], np.random.randn(3, 4)),
@@ -724,10 +724,10 @@ def test_lazy_load(self):
724724
def test_reduce(self):
725725
data = create_test_data()
726726

727-
self.assertEqual(len(data.mean().indexes), 0)
727+
self.assertEqual(len(data.mean().coordinates), 0)
728728

729729
expected = data.max()
730-
for var in data.nonindexes:
730+
for var in data.noncoordinates:
731731
expected = data[var].max()
732732
actual = expected[var]
733733
self.assertDataArrayEqual(expected, actual)

test/test_indexing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import numpy as np
22

3-
from xray import indexing, variable, Dataset, Variable, Index
3+
from xray import indexing, variable, Dataset, Variable, Coordinate
44
from . import TestCase, ReturnItem
55

66

@@ -65,7 +65,7 @@ def test_orthogonal_indexer(self):
6565

6666
def test_convert_label_indexer(self):
6767
# TODO: add tests that aren't just for edge cases
68-
coord = Index('x', [1, 2, 3])
68+
coord = Coordinate('x', [1, 2, 3])
6969
with self.assertRaisesRegexp(ValueError, 'not all values found'):
7070
indexing.convert_label_indexer(coord, [0])
7171
with self.assertRaises(KeyError):

0 commit comments

Comments
 (0)