@@ -82,11 +82,9 @@ cdef class Reducer:
82
82
else :
83
83
84
84
# we passed a series-like
85
- if hasattr (dummy, ' values' ):
86
-
87
- typ = type (dummy)
88
- index = getattr (dummy, ' index' , None )
89
- dummy = dummy.values
85
+ typ = type (dummy)
86
+ index = dummy.index
87
+ dummy = dummy.values
90
88
91
89
if dummy.dtype != self .arr.dtype:
92
90
raise ValueError (' Dummy array must be same dtype' )
@@ -99,10 +97,10 @@ cdef class Reducer:
99
97
cdef:
100
98
char * dummy_buf
101
99
ndarray arr, result, chunk
102
- Py_ssize_t i, incr
100
+ Py_ssize_t i
103
101
flatiter it
104
102
bint has_labels
105
- object res, name, labels, index
103
+ object res, name, labels
106
104
object cached_typ = None
107
105
108
106
arr = self .arr
@@ -112,7 +110,6 @@ cdef class Reducer:
112
110
labels = self .labels
113
111
has_labels = labels is not None
114
112
has_index = self .index is not None
115
- incr = self .increment
116
113
117
114
result = np.empty(self .nresults, dtype = ' O' )
118
115
it = < flatiter> PyArray_IterNew(result)
@@ -193,10 +190,10 @@ cdef class _BaseGrouper:
193
190
return values, index
194
191
195
192
cdef inline _update_cached_objs(self , object cached_typ, object cached_ityp,
196
- Slider islider, Slider vslider, object name ):
193
+ Slider islider, Slider vslider):
197
194
if cached_typ is None :
198
195
cached_ityp = self .ityp(islider.buf)
199
- cached_typ = self .typ(vslider.buf, index = cached_ityp, name = name)
196
+ cached_typ = self .typ(vslider.buf, index = cached_ityp, name = self . name)
200
197
else :
201
198
# See the comment in indexes/base.py about _index_data.
202
199
# We need this for EA-backed indexes that have a reference
@@ -205,7 +202,7 @@ cdef class _BaseGrouper:
205
202
cached_ityp._engine.clear_mapping()
206
203
object .__setattr__ (cached_typ._data._block, ' values' , vslider.buf)
207
204
object .__setattr__ (cached_typ, ' _index' , cached_ityp)
208
- object .__setattr__ (cached_typ, ' name' , name)
205
+ object .__setattr__ (cached_typ, ' name' , self . name)
209
206
210
207
return cached_typ, cached_ityp
211
208
@@ -254,7 +251,7 @@ cdef class SeriesBinGrouper(_BaseGrouper):
254
251
object res
255
252
bint initialized = 0
256
253
Slider vslider, islider
257
- object name, cached_typ = None , cached_ityp = None
254
+ object cached_typ = None , cached_ityp = None
258
255
259
256
counts = np.zeros(self .ngroups, dtype = np.int64)
260
257
@@ -268,7 +265,6 @@ cdef class SeriesBinGrouper(_BaseGrouper):
268
265
269
266
group_size = 0
270
267
n = len (self .arr)
271
- name = self .name
272
268
273
269
vslider = Slider(self .arr, self .dummy_arr)
274
270
islider = Slider(self .index, self .dummy_index)
@@ -283,7 +279,7 @@ cdef class SeriesBinGrouper(_BaseGrouper):
283
279
vslider.set_length(group_size)
284
280
285
281
cached_typ, cached_ityp = self ._update_cached_objs(
286
- cached_typ, cached_ityp, islider, vslider, name )
282
+ cached_typ, cached_ityp, islider, vslider)
287
283
288
284
cached_ityp._engine.clear_mapping()
289
285
res = self .f(cached_typ)
@@ -356,13 +352,12 @@ cdef class SeriesGrouper(_BaseGrouper):
356
352
object res
357
353
bint initialized = 0
358
354
Slider vslider, islider
359
- object name, cached_typ = None , cached_ityp = None
355
+ object cached_typ = None , cached_ityp = None
360
356
361
357
labels = self .labels
362
358
counts = np.zeros(self .ngroups, dtype = np.int64)
363
359
group_size = 0
364
360
n = len (self .arr)
365
- name = self .name
366
361
367
362
vslider = Slider(self .arr, self .dummy_arr)
368
363
islider = Slider(self .index, self .dummy_index)
@@ -386,7 +381,7 @@ cdef class SeriesGrouper(_BaseGrouper):
386
381
vslider.set_length(group_size)
387
382
388
383
cached_typ, cached_ityp = self ._update_cached_objs(
389
- cached_typ, cached_ityp, islider, vslider, name )
384
+ cached_typ, cached_ityp, islider, vslider)
390
385
391
386
cached_ityp._engine.clear_mapping()
392
387
res = self .f(cached_typ)
0 commit comments