@@ -36,7 +36,12 @@ cdef class Reducer:
36
36
object dummy, f, labels, typ, ityp, index
37
37
ndarray arr
38
38
39
- def __init__ (self , ndarray arr , object f , axis = 1 , dummy = None , labels = None ):
39
+ def __init__ (
40
+ self , ndarray arr , object f , int axis = 1 , object dummy = None , object labels = None
41
+ ):
42
+ cdef:
43
+ Py_ssize_t n, k
44
+
40
45
n, k = (< object > arr).shape
41
46
42
47
if axis == 0 :
@@ -60,7 +65,7 @@ cdef class Reducer:
60
65
self .dummy, self .typ, self .index, self .ityp = self ._check_dummy(
61
66
dummy = dummy)
62
67
63
- cdef _check_dummy(self , dummy = None ):
68
+ cdef _check_dummy(self , object dummy = None ):
64
69
cdef:
65
70
object index = None , typ = None , ityp = None
66
71
@@ -147,7 +152,7 @@ cdef class Reducer:
147
152
148
153
149
154
cdef class _BaseGrouper:
150
- cdef _check_dummy(self , dummy):
155
+ cdef _check_dummy(self , object dummy):
151
156
# both values and index must be an ndarray!
152
157
153
158
values = dummy.values
@@ -190,13 +195,16 @@ cdef class _BaseGrouper:
190
195
"""
191
196
Call self.f on our new group, then update to the next group.
192
197
"""
198
+ cdef:
199
+ object res
200
+
193
201
cached_ityp._engine.clear_mapping()
194
202
res = self .f(cached_typ)
195
203
res = _extract_result(res)
196
204
if not initialized:
197
205
# On the first pass, we check the output shape to see
198
206
# if this looks like a reduction.
199
- initialized = 1
207
+ initialized = True
200
208
_check_result_array(res, len (self .dummy_arr))
201
209
202
210
islider.advance(group_size)
@@ -534,7 +542,11 @@ cdef class BlockSlider:
534
542
cdef:
535
543
char ** base_ptrs
536
544
537
- def __init__ (self , frame ):
545
+ def __init__ (self , object frame ):
546
+ cdef:
547
+ Py_ssize_t i
548
+ object b
549
+
538
550
self .frame = frame
539
551
self .dummy = frame[:0 ]
540
552
self .index = self .dummy.index
0 commit comments