@@ -56,7 +56,7 @@ cdef class _BaseGrouper:
56
56
cdef inline _update_cached_objs(self , object cached_typ, object cached_ityp,
57
57
Slider islider, Slider vslider):
58
58
if cached_typ is None :
59
- cached_ityp = self .ityp(islider.buf)
59
+ cached_ityp = self .ityp(islider.buf, dtype = self .idtype )
60
60
cached_typ = self .typ(
61
61
vslider.buf, dtype = vslider.buf.dtype, index = cached_ityp, name = self .name
62
62
)
@@ -65,7 +65,6 @@ cdef class _BaseGrouper:
65
65
# We need this for EA-backed indexes that have a reference
66
66
# to a 1-d ndarray like datetime / timedelta / period.
67
67
object .__setattr__ (cached_ityp, ' _index_data' , islider.buf)
68
- object .__setattr__ (cached_ityp, ' _data' , islider.buf)
69
68
cached_ityp._engine.clear_mapping()
70
69
cached_ityp._cache.clear() # e.g. inferred_freq must go
71
70
cached_typ._mgr.set_values(vslider.buf)
@@ -107,6 +106,7 @@ cdef class SeriesBinGrouper(_BaseGrouper):
107
106
cdef public:
108
107
ndarray arr, index, dummy_arr, dummy_index
109
108
object values, f, bins, typ, ityp, name
109
+ object idtype
110
110
111
111
def __init__ (self , object series , object f , object bins ):
112
112
@@ -122,6 +122,7 @@ cdef class SeriesBinGrouper(_BaseGrouper):
122
122
self .arr = values
123
123
self .typ = series._constructor
124
124
self .ityp = series.index._constructor
125
+ self .idtype = series.index.dtype
125
126
self .index = series.index.values
126
127
self .name = series.name
127
128
@@ -200,6 +201,7 @@ cdef class SeriesGrouper(_BaseGrouper):
200
201
cdef public:
201
202
ndarray arr, index, dummy_arr, dummy_index
202
203
object f, labels, values, typ, ityp, name
204
+ object idtype
203
205
204
206
def __init__ (self , object series , object f , ndarray[intp_t] labels ,
205
207
Py_ssize_t ngroups ):
@@ -218,6 +220,7 @@ cdef class SeriesGrouper(_BaseGrouper):
218
220
self .arr = values
219
221
self .typ = series._constructor
220
222
self .ityp = series.index._constructor
223
+ self .idtype = series.index.dtype
221
224
self .index = series.index.values
222
225
self .name = series.name
223
226
0 commit comments