Skip to content

Commit 3824c8a

Browse files
committed
modified: pandas/tests/reshape/test_pivot_multilevel.py
- Moved e_data, e_index, and e_cols to parametrized marker instead of declaring inside the test :func:`test_pivot_table_multiindex_values_as_two_params`.
1 parent 2b70c88 commit 3824c8a

File tree

1 file changed

+33
-26
lines changed

1 file changed

+33
-26
lines changed

pandas/tests/reshape/test_pivot_multilevel.py

+33-26
Original file line numberDiff line numberDiff line change
@@ -253,11 +253,41 @@ def test_pivot_df_multiindex_index_none():
253253

254254

255255
@pytest.mark.parametrize(
256-
"index, columns",
257-
[("index", ["col", "value"]), (["index", "value"], "col")],
256+
"index, columns, e_data, e_index, e_cols",
257+
[
258+
(
259+
"index",
260+
["col", "value"],
261+
[
262+
[50.0, (nan := np.nan), 100.0, nan],
263+
[nan, 100.0, nan, 200.0],
264+
],
265+
Index(data=["A", "B"], name="index"),
266+
MultiIndex.from_arrays(
267+
arrays=[[1, 1, 2, 2], [50, 100, 100, 200]], names=["col", "value"]
268+
),
269+
),
270+
(
271+
["index", "value"],
272+
"col",
273+
[
274+
[50.0, nan],
275+
[nan, 100.0],
276+
[100.0, nan],
277+
[nan, 200.0],
278+
],
279+
MultiIndex.from_arrays(
280+
arrays=[["A", "A", "B", "B"], [50, 100, 100, 200]],
281+
names=["index", "value"],
282+
),
283+
Index(data=[1, 2], name="col"),
284+
),
285+
],
258286
ids=["values-and-columns", "values-and-index"],
259287
)
260-
def test_pivot_table_multiindex_values_as_two_params(index, columns, request):
288+
def test_pivot_table_multiindex_values_as_two_params(
289+
index, columns, e_data, e_index, e_cols
290+
):
261291
# GH#61292
262292
data = [
263293
["A", 1, 50, -1],
@@ -267,28 +297,5 @@ def test_pivot_table_multiindex_values_as_two_params(index, columns, request):
267297
]
268298
df = pd.DataFrame(data=data, columns=["index", "col", "value", "extra"])
269299
result = df.pivot_table(values="value", index=index, columns=columns)
270-
nan = np.nan
271-
if request.node.callspec.id == "values-and-columns":
272-
e_data = [
273-
[50.0, nan, 100.0, nan],
274-
[nan, 100.0, nan, 200.0],
275-
]
276-
e_index = Index(data=["A", "B"], name="index")
277-
e_cols = MultiIndex.from_arrays(
278-
arrays=[[1, 1, 2, 2], [50, 100, 100, 200]], names=["col", "value"]
279-
)
280-
281-
else:
282-
e_data = [
283-
[50.0, nan],
284-
[nan, 100.0],
285-
[100.0, nan],
286-
[nan, 200.0],
287-
]
288-
e_index = MultiIndex.from_arrays(
289-
arrays=[["A", "A", "B", "B"], [50, 100, 100, 200]], names=["index", "value"]
290-
)
291-
e_cols = Index(data=[1, 2], name="col")
292-
293300
expected = pd.DataFrame(data=e_data, index=e_index, columns=e_cols)
294301
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)