@@ -83,10 +83,13 @@ def rank_1d_float64(object in_arr, ties_method='average', ascending=True,
83
83
float64_t val, nan_value
84
84
float64_t sum_ranks = 0
85
85
int tiebreak = 0
86
+ bint keep_na = 0
86
87
tiebreak = tiebreakers[ties_method]
87
88
88
89
values = np.asarray(in_arr).copy()
89
90
91
+ keep_na = na_option == ' keep'
92
+
90
93
if ascending ^ (na_option == ' top' ):
91
94
nan_value = np.inf
92
95
else :
@@ -116,7 +119,7 @@ def rank_1d_float64(object in_arr, ties_method='average', ascending=True,
116
119
sum_ranks += i + 1
117
120
dups += 1
118
121
val = sorted_data[i]
119
- if (val == nan_value) and (na_option == ' keep ' ) :
122
+ if (val == nan_value) and keep_na :
120
123
ranks[argsorted[i]] = nan
121
124
continue
122
125
if i == n - 1 or fabs(sorted_data[i + 1 ] - val) > FP_ERR:
@@ -212,8 +215,12 @@ def rank_2d_float64(object in_arr, axis=0, ties_method='average',
212
215
float64_t val, nan_value
213
216
float64_t sum_ranks = 0
214
217
int tiebreak = 0
218
+ bint keep_na = 0
219
+
215
220
tiebreak = tiebreakers[ties_method]
216
221
222
+ keep_na = na_option == ' keep'
223
+
217
224
in_arr = np.asarray(in_arr)
218
225
219
226
if axis == 0 :
@@ -251,7 +258,7 @@ def rank_2d_float64(object in_arr, axis=0, ties_method='average',
251
258
sum_ranks += j + 1
252
259
dups += 1
253
260
val = values[i, j]
254
- if val == nan_value and na_option == ' keep ' :
261
+ if val == nan_value and keep_na :
255
262
ranks[i, argsorted[i, j]] = nan
256
263
continue
257
264
if j == k - 1 or fabs(values[i, j + 1 ] - val) > FP_ERR:
@@ -360,8 +367,12 @@ def rank_1d_generic(object in_arr, bint retry=1, ties_method='average',
360
367
object val, nan_value
361
368
float64_t sum_ranks = 0
362
369
int tiebreak = 0
370
+ bint keep_na = 0
371
+
363
372
tiebreak = tiebreakers[ties_method]
364
373
374
+ keep_na = na_option == ' keep'
375
+
365
376
values = np.array(in_arr, copy = True )
366
377
367
378
if values.dtype != np.object_:
@@ -403,7 +414,7 @@ def rank_1d_generic(object in_arr, bint retry=1, ties_method='average',
403
414
sum_ranks += i + 1
404
415
dups += 1
405
416
val = util.get_value_at(sorted_data, i)
406
- if val is nan_value and na_option == ' keep ' :
417
+ if val is nan_value and keep_na :
407
418
ranks[argsorted[i]] = nan
408
419
continue
409
420
if (i == n - 1 or
@@ -465,8 +476,12 @@ def rank_2d_generic(object in_arr, axis=0, ties_method='average',
465
476
object val, nan_value
466
477
float64_t sum_ranks = 0
467
478
int tiebreak = 0
479
+ bint keep_na = 0
480
+
468
481
tiebreak = tiebreakers[ties_method]
469
482
483
+ keep_na = na_option == ' keep'
484
+
470
485
in_arr = np.asarray(in_arr)
471
486
472
487
if axis == 0 :
@@ -512,7 +527,7 @@ def rank_2d_generic(object in_arr, axis=0, ties_method='average',
512
527
dups = sum_ranks = infs = 0
513
528
for j in range (k):
514
529
val = values[i, j]
515
- if val is nan_value and na_option == ' keep ' :
530
+ if val is nan_value and keep_na :
516
531
ranks[i, argsorted[i, j]] = nan
517
532
infs += 1
518
533
continue
0 commit comments