Skip to content

Commit 3893f55

Browse files
tqa236pmhatre1
authored andcommitted
Fix rank method with nullable int (pandas-dev#57779)
* Fix rank method with nullable int * Add whatsnew note
1 parent 6b9e63a commit 3893f55

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

pandas/core/arrays/base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2206,7 +2206,7 @@ def _rank(
22062206
raise NotImplementedError
22072207

22082208
return rank(
2209-
self._values_for_argsort(),
2209+
self,
22102210
axis=axis,
22112211
method=method,
22122212
na_option=na_option,

pandas/tests/series/methods/test_rank.py

+10
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,16 @@ def test_rank_categorical(self):
234234
tm.assert_series_equal(na_ser.rank(na_option="bottom", pct=True), exp_bot)
235235
tm.assert_series_equal(na_ser.rank(na_option="keep", pct=True), exp_keep)
236236

237+
def test_rank_nullable_integer(self):
238+
# GH 56976
239+
exp = Series([np.nan, 2, np.nan, 3, 3, 2, 3, 1])
240+
exp = exp.astype("Int64")
241+
result = exp.rank(na_option="keep")
242+
243+
expected = Series([np.nan, 2.5, np.nan, 5.0, 5.0, 2.5, 5.0, 1.0])
244+
245+
tm.assert_series_equal(result, expected)
246+
237247
def test_rank_signature(self):
238248
s = Series([0, 1])
239249
s.rank(method="average")

0 commit comments

Comments
 (0)