@@ -1094,19 +1094,22 @@ def test_margin_dropna(self):
1094
1094
1095
1095
actual = pd .crosstab (a , [b , c ], rownames = ['a' ],
1096
1096
colnames = ['b' , 'c' ], margins = True , dropna = False )
1097
- m = MultiIndex .from_arrays ([[np .nan , np .nan , 'one' , 'one' , 'two' , 'two' , 'All' ],
1098
- ['dull' , 'shiny' , 'dull' , 'shiny' , 'dull' , 'shiny' , '' ]],
1099
- names = ['b' , 'c' ])
1097
+
1098
+ m = MultiIndex (levels = [Index (['All' , np .nan , 'one' , 'two' ]),
1099
+ Index (['' , 'dull' , 'shiny' ])], labels = [[1 , 1 , 2 , 2 , 3 , 3 , 0 ],
1100
+ [1 , 2 , 1 , 2 , 1 , 2 , 0 ]], names = ['b' , 'c' ])
1100
1101
expected = DataFrame ([[0 , 0 , 1 , 0 , 1 , 0 , 2 ], [0 , 1 , 2 , 0 , 1 , 1 , 5 ],
1101
1102
[0 , 1 , 3 , 0 , 2 , 1 , 7 ]], columns = m )
1102
1103
expected .index = Index (['bar' , 'foo' , 'All' ], name = 'a' )
1103
1104
tm .assert_frame_equal (actual , expected )
1104
1105
1105
1106
actual = pd .crosstab ([a , b ], c , rownames = ['a' , 'b' ],
1106
1107
colnames = ['c' ], margins = True , dropna = False )
1107
- m = MultiIndex .from_arrays ([['bar' , 'bar' , 'bar' , 'foo' , 'foo' , 'foo' , 'All' ],
1108
- [np .nan , 'one' , 'two' , np .nan , 'one' , 'two' , '' ]],
1109
- names = ['a' , 'b' ])
1108
+
1109
+ print actual .index
1110
+ m = MultiIndex (levels = [['All' , 'bar' , 'foo' ], ['' , np .nan , 'one' , 'two' ]],
1111
+ labels = [[1 , 1 , 1 , 2 , 2 , 2 , 0 ], [1 , 2 , 3 , 1 , 2 , 3 , 0 ]],
1112
+ names = ['a' , 'b' ])
1110
1113
expected = DataFrame ([[0 , 0 , 0 ], [1 , 0 , 1 ], [1 , 0 , 1 ], [0 , 1 , 1 ], [2 , 0 , 2 ], [1 , 1 , 2 ],
1111
1114
[5 , 2 , 7 ]], index = m )
1112
1115
expected .columns = Index (['dull' , 'shiny' , 'All' ], name = 'c' )
0 commit comments