@@ -140,6 +140,8 @@ def __new__(cls, data, dtype=None, copy=False, name=None, fastpath=False,
140140
141141 if issubclass (data .dtype .type , np .integer ):
142142 return Int64Index (data , copy = copy , dtype = dtype , name = name )
143+ if issubclass (data .dtype .type , np .floating ):
144+ return Float64Index (data , copy = copy , dtype = dtype , name = name )
143145
144146 subarr = com ._asarray_tuplesafe (data , dtype = object )
145147
@@ -1986,7 +1988,8 @@ def inferred_type(self):
19861988 def astype (self , dtype ):
19871989 if np .dtype (dtype ) not in (np .object , np .float64 ):
19881990 raise TypeError ('Setting %s dtype to anything other than '
1989- 'float64 or object is not supported' % self .__class__ )
1991+ 'float64 or object is not supported' %
1992+ self .__class__ )
19901993 return Index (self .values , name = self .name , dtype = dtype )
19911994
19921995 def _convert_scalar_indexer (self , key , typ = None ):
@@ -2020,7 +2023,7 @@ def get_value(self, series, key):
20202023 k = _values_from_object (key )
20212024 loc = self .get_loc (k )
20222025 new_values = series .values [loc ]
2023- if np .isscalar (new_values ):
2026+ if np .isscalar (new_values ) or new_values is None :
20242027 return new_values
20252028
20262029 new_index = self [loc ]
0 commit comments