@@ -99,11 +99,7 @@ def nansum_of_squares(group_idx, array, *, axis=-1, size=None, fill_value=None,
9999
100100
101101def nanlen (group_idx , array , * args , ** kwargs ):
102- if np .issubdtype (array .dtype , bool ):
103- array = ~ array
104- else :
105- array = ~ isnull (array )
106- return sum (group_idx , array .view (np .int8 ), * args , ** kwargs )
102+ return sum (group_idx , (~ isnull (array )).view (np .int8 ), * args , ** kwargs )
107103
108104
109105def mean (group_idx , array , * , axis = - 1 , size = None , fill_value = None , dtype = None ):
@@ -122,5 +118,5 @@ def nanmean(group_idx, array, *, axis=-1, size=None, fill_value=None, dtype=None
122118 masked = np .where (mask , 0 , array )
123119 out = sum (group_idx , masked , size = size , axis = axis , dtype = dtype , fill_value = fill_value )
124120 with np .errstate (invalid = "ignore" , divide = "ignore" ):
125- out /= nanlen (group_idx , mask , size = size , axis = axis , fill_value = 0 , dtype = np .intp )
121+ out /= sum (group_idx , mask . view ( np . int8 ) , size = size , axis = axis , fill_value = 0 , dtype = np .intp )
126122 return out
0 commit comments