@@ -151,14 +151,30 @@ def test_pivot_with_non_observable_dropna(self, dropna):
151
151
'B' : range (5 )})
152
152
153
153
result = df .pivot_table (index = 'A' , values = 'B' , dropna = dropna )
154
- expected = pd .DataFrame (
155
- {'B' : [2 , 3 ]},
156
- index = pd .Index (
157
- pd .Categorical .from_codes ([0 , 1 ],
158
- categories = ['low' , 'high' ],
159
- ordered = True ),
160
- name = 'A' ))
154
+ expected_index = pd .CategoricalIndex (['low' , 'high' ],
155
+ categories = ['low' , 'high' ],
156
+ ordered = True , name = 'A' )
157
+
158
+ expected = pd .DataFrame ({'B' : [2 , 3 ]},
159
+ index = expected_index )
160
+
161
+ tm .assert_frame_equal (result , expected )
161
162
163
+ result = df .pivot_table (columns = 'A' , values = 'B' , dropna = dropna )
164
+ expected = pd .DataFrame ([[2 , 3 ]],
165
+ index = pd .Index (['B' ]),
166
+ columns = expected_index )
167
+ tm .assert_frame_equal (result , expected )
168
+
169
+ df ['AA' ] = df ['A' ]
170
+ result = df .pivot_table (index = 'A' ,
171
+ columns = 'AA' ,
172
+ values = 'B' ,
173
+ dropna = dropna )
174
+ expected = pd .DataFrame (
175
+ [[2 , np .nan ], [np .nan , 3 ]],
176
+ index = expected_index ,
177
+ columns = expected_index .rename ('AA' ))
162
178
tm .assert_frame_equal (result , expected )
163
179
164
180
def test_pass_array (self ):
0 commit comments