Index.name is not validatied to be Hashable · Issue #29069 · pandas-dev/pandas (original) (raw)

We require that Series.name be hashable. We don't do the same for Index.name. Should we?

In [4]: pd.Index([], name=[]) Out[4]: Index([], dtype='object', name=[])

In [5]: pd.Series([], name=[])

TypeError Traceback (most recent call last) in ----> 1 pd.Series([], name=[])

~/sandbox/pandas/pandas/core/series.py in init(self, data, index, dtype, name, copy, fastpath) 326 generic.NDFrame.init(self, data, fastpath=True) 327 --> 328 self.name = name 329 self._set_axis(0, index, fastpath=True) 330

~/sandbox/pandas/pandas/core/generic.py in setattr(self, name, value) 5257 object.setattr(self, name, value) 5258 elif name in self._metadata: -> 5259 object.setattr(self, name, value) 5260 else: 5261 try:

~/sandbox/pandas/pandas/core/series.py in name(self, value) 468 def name(self, value): 469 if value is not None and not is_hashable(value): --> 470 raise TypeError("Series.name must be a hashable type") 471 object.setattr(self, "_name", value) 472

TypeError: Series.name must be a hashable type