@@ -122,23 +122,27 @@ def test_series_groupby_value_counts_with_grouper():
122122 tm .assert_series_equal (result , expected )
123123
124124
125- def test_series_groupby_value_counts_empty ():
125+ @pytest .mark .parametrize ("columns" , [["A" , "B" ], ["A" , "B" , "C" ]])
126+ def test_series_groupby_value_counts_empty (columns ):
126127 # GH39172
127- df = DataFrame (columns = [ "A" , "B" ] )
128- dfg = df .groupby ("A" )
128+ df = DataFrame (columns = columns )
129+ dfg = df .groupby (columns [: - 1 ] )
129130
130- result = dfg ["B" ].value_counts ()
131- expected = Series ([], name = "B" , dtype = result .dtype )
132- expected .index = MultiIndex .from_arrays ([[]] * 2 , names = [ "A" , "B" ] )
131+ result = dfg [columns [ - 1 ] ].value_counts ()
132+ expected = Series ([], name = columns [ - 1 ] , dtype = result .dtype )
133+ expected .index = MultiIndex .from_arrays ([[]] * len ( columns ) , names = columns )
133134
134135 tm .assert_series_equal (result , expected )
135136
136- df = DataFrame (columns = ["A" , "B" , "C" ])
137- dfg = df .groupby (["A" , "B" ])
138137
139- result = dfg ["C" ].value_counts ()
140- expected = Series ([], name = "C" , dtype = result .dtype )
141- expected .index = MultiIndex .from_arrays ([[]] * 3 , names = ["A" , "B" , "C" ])
138+ @pytest .mark .parametrize ("columns" , [["A" , "B" ], ["A" , "B" , "C" ]])
139+ def test_series_groupby_value_counts_one_row (columns ):
140+ # GH42618
141+ df = DataFrame (data = [range (len (columns ))], columns = columns )
142+ dfg = df .groupby (columns [:- 1 ])
143+
144+ result = dfg [columns [- 1 ]].value_counts ()
145+ expected = df .value_counts ().rename (columns [- 1 ])
142146
143147 tm .assert_series_equal (result , expected )
144148
0 commit comments