|
5 | 5 | from cStringIO import StringIO as BytesIO
|
6 | 6 | except ImportError: # Python 3
|
7 | 7 | from io import BytesIO
|
8 |
| -from collections import OrderedDict, Mapping |
| 8 | +from collections import Mapping |
9 | 9 |
|
10 | 10 | from . import backends
|
11 | 11 | from . import conventions
|
|
18 | 18 | from . import ops
|
19 | 19 | from .utils import (FrozenOrderedDict, Frozen, SortedKeysDict, ChainMap,
|
20 | 20 | multi_index_from_product)
|
21 |
| -from .pycompat import iteritems, itervalues, basestring |
| 21 | +from .pycompat import iteritems, itervalues, basestring, OrderedDict |
22 | 22 |
|
23 | 23 |
|
24 | 24 | def open_dataset(nc, decode_cf=True, mask_and_scale=True, decode_times=True,
|
@@ -623,13 +623,12 @@ def isel(self, **indexers):
|
623 | 623 | raise ValueError("dimensions %r do not exist" % invalid)
|
624 | 624 |
|
625 | 625 | # all indexers should be int, slice or np.ndarrays
|
626 |
| - indexers = {k: np.asarray(v) if not isinstance(v, (int, np.integer, slice)) else v |
627 |
| - for k, v in iteritems(indexers)} |
| 626 | + indexers = dict((k, np.asarray(v) if not isinstance(v, (int, np.integer, slice)) else v) |
| 627 | + for k, v in iteritems(indexers)) |
628 | 628 |
|
629 | 629 | variables = OrderedDict()
|
630 | 630 | for name, var in iteritems(self.variables):
|
631 |
| - var_indexers = {k: v for k, v in iteritems(indexers) |
632 |
| - if k in var.dimensions} |
| 631 | + var_indexers = dict((k, v) for k, v in iteritems(indexers) if k in var.dimensions) |
633 | 632 | variables[name] = var.isel(**var_indexers)
|
634 | 633 | return type(self)(variables, self.attrs)
|
635 | 634 |
|
@@ -923,11 +922,11 @@ def merge(self, other, inplace=False, overwrite_vars=set(),
|
923 | 922 | potential_conflicts = self.variables
|
924 | 923 | else:
|
925 | 924 | if isinstance(overwrite_vars, basestring):
|
926 |
| - overwrite_vars = {overwrite_vars} |
| 925 | + overwrite_vars = set([overwrite_vars]) |
927 | 926 | else:
|
928 | 927 | overwrite_vars = set(overwrite_vars)
|
929 |
| - potential_conflicts = {k: v for k, v in iteritems(self.variables) |
930 |
| - if k not in overwrite_vars} |
| 928 | + potential_conflicts = dict((k, v) for k, v in iteritems(self.variables) |
| 929 | + if k not in overwrite_vars) |
931 | 930 |
|
932 | 931 | # update variables
|
933 | 932 | new_variables = _expand_variables(other_variables, potential_conflicts,
|
@@ -975,8 +974,8 @@ def drop_vars(self, *names):
|
975 | 974 | raise ValueError('One or more of the specified variable '
|
976 | 975 | 'names does not exist in this dataset')
|
977 | 976 | drop = set(names)
|
978 |
| - drop |= {k for k, v in iteritems(self.variables) |
979 |
| - if any(name in v.dimensions for name in names)} |
| 977 | + drop |= set(k for k, v in iteritems(self.variables) |
| 978 | + if any(name in v.dimensions for name in names)) |
980 | 979 | variables = OrderedDict((k, v) for k, v in iteritems(self.variables)
|
981 | 980 | if k not in drop)
|
982 | 981 | return type(self)(variables, self.attrs)
|
@@ -1150,7 +1149,7 @@ def concat(cls, datasets, dimension='concat_dimension', indexers=None,
|
1150 | 1149 | if concat_over is None:
|
1151 | 1150 | concat_over = set()
|
1152 | 1151 | elif isinstance(concat_over, basestring):
|
1153 |
| - concat_over = {concat_over} |
| 1152 | + concat_over = set([concat_over]) |
1154 | 1153 | else:
|
1155 | 1154 | concat_over = set(concat_over)
|
1156 | 1155 |
|
@@ -1180,7 +1179,7 @@ def differs(vname, v):
|
1180 | 1179 | % (concat_over, datasets[0]))
|
1181 | 1180 |
|
1182 | 1181 | # automatically concatenate over variables along the dimension
|
1183 |
| - auto_concat_dims = {dim_name} |
| 1182 | + auto_concat_dims = set([dim_name]) |
1184 | 1183 | if hasattr(dimension, 'dimensions'):
|
1185 | 1184 | auto_concat_dims |= set(dimension.dimensions)
|
1186 | 1185 | for k, v in iteritems(datasets[0]):
|
|
0 commit comments