Skip to content

Commit 5064dea

Browse files
kasim95luckyvs1
authored andcommitted
BUG: Added test cases to check loc on multiindex with NaNs pandas-dev#29751 (pandas-dev#38772)
1 parent 4cbfc04 commit 5064dea

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

pandas/tests/indexing/multiindex/test_getitem.py

+32
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,38 @@ def test_frame_mixed_depth_get():
197197
tm.assert_series_equal(result, expected)
198198

199199

200+
def test_frame_getitem_nan_multiindex(nulls_fixture):
201+
# GH#29751
202+
# loc on a multiindex containing nan values
203+
n = nulls_fixture # for code readability
204+
cols = ["a", "b", "c"]
205+
df = DataFrame(
206+
[[11, n, 13], [21, n, 23], [31, n, 33], [41, n, 43]],
207+
columns=cols,
208+
dtype="int64",
209+
).set_index(["a", "b"])
210+
211+
idx = (21, n)
212+
result = df.loc[:idx]
213+
expected = DataFrame(
214+
[[11, n, 13], [21, n, 23]], columns=cols, dtype="int64"
215+
).set_index(["a", "b"])
216+
tm.assert_frame_equal(result, expected)
217+
218+
result = df.loc[idx:]
219+
expected = DataFrame(
220+
[[21, n, 23], [31, n, 33], [41, n, 43]], columns=cols, dtype="int64"
221+
).set_index(["a", "b"])
222+
tm.assert_frame_equal(result, expected)
223+
224+
idx1, idx2 = (21, n), (31, n)
225+
result = df.loc[idx1:idx2]
226+
expected = DataFrame(
227+
[[21, n, 23], [31, n, 33]], columns=cols, dtype="int64"
228+
).set_index(["a", "b"])
229+
tm.assert_frame_equal(result, expected)
230+
231+
200232
# ----------------------------------------------------------------------------
201233
# test indexing of DataFrame with multi-level Index with duplicates
202234
# ----------------------------------------------------------------------------

0 commit comments

Comments
 (0)