Skip to content

Commit 988ff30

Browse files
committed
BUG: Added nulls_fixture, parametrized slices, and added fixed dtype in test pandas-dev#29751
1 parent 6d6d1fb commit 988ff30

File tree

1 file changed

+15
-23
lines changed

1 file changed

+15
-23
lines changed

pandas/tests/indexing/multiindex/test_getitem.py

+15-23
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import numpy as np
22
import pytest
33

4-
import pandas as pd
54
from pandas import DataFrame, Index, MultiIndex, Series
65
import pandas._testing as tm
76
from pandas.core.indexing import IndexingError
@@ -282,30 +281,23 @@ def test_loc_empty_multiindex():
282281
tm.assert_frame_equal(result, expected)
283282

284283

285-
@pytest.mark.parametrize("nan", [np.nan, pd.NA, None])
286-
def test_loc_nan_multiindex(nan):
284+
@pytest.mark.parametrize("idx1,idx2", [(0, 1), (1, 4), (1, 3)])
285+
def test_loc_nan_multiindex(nulls_fixture, idx1, idx2):
287286
# GH#29751
288-
# tests to check loc on a multiindex containing nan values
287+
# loc on a multiindex containing nan values
289288
arr = [
290-
[11, nan, 13],
291-
[21, nan, 23],
292-
[31, nan, 33],
293-
[41, nan, 43],
294-
[51, nan, 53],
289+
[11, nulls_fixture, 13],
290+
[21, nulls_fixture, 23],
291+
[31, nulls_fixture, 33],
292+
[41, nulls_fixture, 43],
293+
[51, nulls_fixture, 53],
295294
]
296295
cols = ["a", "b", "c"]
297-
df = DataFrame(arr, columns=cols, dtype="int").set_index(["a", "b"])
298-
idx = df.index[1]
299-
result = df.loc[:idx, :]
300-
expected = DataFrame(arr[:2], columns=cols, dtype="int").set_index(["a", "b"])
301-
tm.assert_frame_equal(result, expected)
302-
303-
result = df.loc[idx:, :]
304-
expected = DataFrame(arr[1:], columns=cols).set_index(["a", "b"])
305-
tm.assert_frame_equal(result, expected)
306-
307-
idx1 = df.index[1]
308-
idx2 = df.index[3]
309-
result = df.loc[idx1:idx2, :]
310-
expected = DataFrame(arr[1:4], columns=cols).set_index(["a", "b"])
296+
df = DataFrame(arr, columns=cols, dtype="int64").set_index(["a", "b"])
297+
start = df.index[idx1]
298+
end = df.index[idx2]
299+
result = df.loc[start:end, :]
300+
expected = DataFrame(arr[idx1 : (idx2 + 1)], columns=cols, dtype="int64").set_index(
301+
["a", "b"]
302+
)
311303
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)