File tree 2 files changed +8
-17
lines changed
2 files changed +8
-17
lines changed Original file line number Diff line number Diff line change @@ -151,12 +151,6 @@ def to_dataset(self):
151
151
def _update_coords (self , coords ):
152
152
from .dataset import calculate_dimensions
153
153
154
- for key in coords :
155
- if key in self ._data ._level_coords :
156
- raise ValueError ("%r is already a MultiIndex level of "
157
- "coordinate %r"
158
- % (key , self ._data ._level_coords [key ]))
159
-
160
154
variables = self ._data ._variables .copy ()
161
155
variables .update (coords )
162
156
@@ -203,12 +197,6 @@ def _names(self):
203
197
def _update_coords (self , coords ):
204
198
from .dataset import calculate_dimensions
205
199
206
- for key in coords :
207
- if key in self ._data ._level_coords :
208
- raise ValueError ("%r is already a MultiIndex level of "
209
- "coordinate %r"
210
- % (key , self ._data ._level_coords [key ]))
211
-
212
200
dims = calculate_dimensions (coords )
213
201
if set (dims ) != set (self .dims ):
214
202
raise ValueError ('cannot add coordinates with new dimensions to '
Original file line number Diff line number Diff line change @@ -1321,13 +1321,16 @@ def assert_unique_multiindex_level_names(variables):
1321
1321
idx_level_names = var .to_coord ().level_names
1322
1322
if idx_level_names is not None :
1323
1323
for n in idx_level_names :
1324
- level_names [n ].append (var_name )
1324
+ level_names [n ].append ('%r (%s)' % (n , var_name ))
1325
+
1326
+ for n in level_names :
1327
+ if n in variables :
1328
+ level_names [n ].append ('(%s)' % n )
1325
1329
1326
1330
duplicate_level_names = {k : v for k , v in level_names .items ()
1327
1331
if len (v ) > 1 }
1328
1332
if duplicate_level_names :
1329
- duplicate_str = '\n ' .join (['level %r found in %s'
1330
- % (k , ' and ' .join (v ))
1331
- for k , v in duplicate_level_names .items ()])
1332
- raise ValueError ('conflicting MultiIndex level names:\n %s'
1333
+ duplicate_str = '\n ' .join ([', ' .join (v )
1334
+ for v in duplicate_level_names .values ()])
1335
+ raise ValueError ('conflicting MultiIndex level name(s):\n %s'
1333
1336
% duplicate_str )
You can’t perform that action at this time.
0 commit comments