@@ -122,23 +122,27 @@ def test_series_groupby_value_counts_with_grouper():
122
122
tm .assert_series_equal (result , expected )
123
123
124
124
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 ):
126
127
# GH39172
127
- df = DataFrame (columns = [ "A" , "B" ] )
128
- dfg = df .groupby ("A" )
128
+ df = DataFrame (columns = columns )
129
+ dfg = df .groupby (columns [: - 1 ] )
129
130
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 )
133
134
134
135
tm .assert_series_equal (result , expected )
135
136
136
- df = DataFrame (columns = ["A" , "B" , "C" ])
137
- dfg = df .groupby (["A" , "B" ])
138
137
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 ])
142
146
143
147
tm .assert_series_equal (result , expected )
144
148
0 commit comments