hyb
2025-12-30 5e753a15ff53faab2261a53367e44d38caf87041
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
Ë
oñúhBãó—ddlZddlZddlZddlmZmZmZmZm    Z    m
Z
m Z ddl m Zejd„«ZGd„d«Zej$j'dddg«ej$j'd    ddg«d
„««Zy) éN)ÚCategoricalDtypeÚCategoricalIndexÚ    DataFrameÚIndexÚ
MultiIndexÚSeriesÚcrosstabc
ól—tgd¢gd¢gd¢tjjd«j    d«tjjd«j    d«tjjd«j    d«dœ«}t j ||gd¬«S)    N) Úfoor r r Úbarr r r r r r ) Úoner r Útwor r r rrrr ) ÚdullrÚshinyrrrrrrrréé )ÚAÚBÚCÚDÚEÚFT)Ú ignore_index)rÚnpÚrandomÚ default_rngÚstandard_normalÚpdÚconcat)Údfs úUH:\Change_password\venv_build\Lib\site-packages\pandas/tests/reshape/test_crosstab.pyr r s’€ä    ò ò ò ô—‘×&Ñ& qÓ)×9Ñ9¸"Ó=Ü—‘×&Ñ& qÓ)×9Ñ9¸"Ó=Ü—‘×&Ñ& qÓ)×9Ñ9¸"Ó=ñU+    
ó-
€Bô^ 9‰9b˜"X¨DÔ 1Ð1ócób—eZdZd„Zd„Zej jdeje
e g«d„«Z d„Z d„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zej jdddgddgg«d„«Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'y%)&Ú TestCrosstabcó
—t|d|d«}|jddg«j«j«}t    j
||j d«jtj««y)Nrrr)
r    ÚgroupbyÚsizeÚunstackÚtmÚassert_frame_equalÚfillnaÚastyperÚint64©Úselfr ÚresultÚexpecteds    r!Útest_crosstab_singlez!TestCrosstab.test_crosstab_singleFsb€Ü˜"˜S™' 2 c¡7Ó+ˆØ—:‘:˜s C˜jÓ)×.Ñ.Ó0×8Ñ8Ó:ˆÜ
×јf h§o¡o°aÓ&8×&?Ñ&?ÄÇÁÓ&IÕJr"cóN—t|d|d|dg«}|jgd¢«j«}|jd«jd«j    d«j t j«}tj||«t|d|dg|d«}|jgd¢«j«}|jd«j    d«j t j«}tj||«y)Nrrr©rrrr)rrr)
r    r&r'r(r+r,rr-r)r*r.s    r!Útest_crosstab_multiplez#TestCrosstab.test_crosstab_multipleKsé€Ü˜"˜S™' B s¡G¨R°©WÐ#5Ó6ˆØ—:‘:šoÓ.×3Ñ3Ó5ˆØ×#Ñ# CÓ(×0Ñ0°Ó5×<Ñ<¸QÓ?×FÑFÄrÇxÁxÓPˆÜ
×јf hÔ/ä˜2˜c™7 B s¡GÐ,¨b°©gÓ6ˆØ—:‘:šoÓ.×3Ñ3Ó5ˆØ×#Ñ# CÓ(×/Ñ/°Ó2×9Ñ9¼"¿(¹(ÓCˆÜ
×јf hÕ/r"Úboxcó—|tjjd«jddd¬««}|tjjd«jddd¬««}|tjjd«jddd¬««}t    |||dœ«}t |||gd    gd
¬ «}t |d    |d |d g«}t j||«t ||g|d    gd
¬«}t |d |d g|d    «}t j||«t ||«}t |d    |d «}dg|j_    dg|j_    t j||«y)Nrrééd©r'éé
©ÚaÚbÚcr>©r?r@)ÚrownamesÚcolnamesr?r@)rCrBÚrow_0Úcol_0) rrrÚintegersrr    r)r*ÚindexÚnamesÚcolumns)r/r6r>r?r@r r0r1s        r!Útest_crosstab_ndarrayz"TestCrosstab.test_crosstab_ndarrayVsk€ñ ”—    ‘    ×%Ñ% aÓ(×1Ñ1°!°Q¸SÐ1ÓAÓ BˆÙ ”—    ‘    ×%Ñ% aÓ(×1Ñ1°!°Q¸SÐ1ÓAÓ BˆÙ ”—    ‘    ×%Ñ% aÓ(×1Ñ1°!°R¸cÐ1ÓBÓ Cˆä ˜Q Q¨QÑ/Ó 0ˆä˜!˜a ˜V¨s¨e¸jÔIˆÜ˜B˜s™G b¨¡g¨r°#©wÐ%7Ó8ˆÜ
×јf hÔ/ä˜1˜a˜& !¨s¨e¸jÔIˆÜ˜R ™W b¨¡gÐ.°°3±Ó8ˆÜ
×јf hÔ/ô˜!˜Q“ˆÜ˜B˜s™G R¨¡WÓ-ˆØ '˜yˆ‰ÔØ") ˆ×ÑÔÜ
×јf hÕ/r"cóz—tgd¢gd¢¬«}tgd¢gd¢¬«}tjgd¢tj¬«}t    dd    gddggt d    dgd
¬ «t d d gd¬ «¬«}t ||«}tj||«t ||«}tj||«y)N©rérMr=©rG)r;ér;rOr;)r>r?r@ÚdÚf)r;rOr;©ÚdtyperMrrD©Únamer;rOrE©rGrI)    rrÚarrayr-rrr    r)r*)r/r>r?r@r1r0s      r!Útest_crosstab_non_alignedz&TestCrosstab.test_crosstab_non_alignedns€ä ’9¢OÔ 4ˆÜ ’?Ò*CÔ DˆÜ H‰H’Y¤b§h¡hÔ /ˆäؐˆVa˜VРܘ˜A˜ WÔ-ܘ1˜a˜& wÔ/ô
ˆô ˜!˜Q“ˆÜ
×јf hÔ/ä˜!˜Q“ˆÜ
×јf hÕ/r"có˜—tjjd«jddd¬«}tjjd«jddd¬«}tjjd«jddd¬«}t    |||dœ«}t |||gd    gd
d ¬ «}|j jd k(sJ‚|jjddgk(sJ‚|d}|jd    g«j«jd«}tt|«gtdgd    ¬«¬«}tj ||g«}d|_t%j&||«|j(d}    |jddg«j«jd«}
tj |
tt|«gdg¬«g«}
d|
_|
j+|    j «}
|
j-d«jtj.«}
t%j&|    |
«y)Nrrér9r:r;r8r=r>rAT)rBrCÚmargins©r>r?r@©ÚAllÚÚi8r^rTrN)rrrrFrr    rGrHrIr&r'r,rÚlenrrrrUr)Úassert_series_equalÚlocÚreindexr+r-) r/r>r?r@r r0Úall_colsÚexp_colsÚ
exp_marginÚall_rowsÚexp_rowss            r!Útest_crosstab_marginsz"TestCrosstab.test_crosstab_margins€sã€Ü I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆÜ I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆÜ I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆä ˜Q Q¨QÑ/Ó 0ˆä˜!˜a ˜V¨s¨e¸jÐRVÔWˆà|‰|×!Ñ! VÒ+Ð+Ð+؏~‰~×#Ñ#¨¨S zÒ1Ð1Ð1à˜)Ñ$ˆØ—:‘:˜s˜eÓ$×)Ñ)Ó+×2Ñ2°4Ó8ˆäœS ›W˜I¬U°E°7ÀÔ-EÔFˆ
Ü—9‘9˜h¨
Ð3Ó4ˆØ#ˆŒ ä
×јx¨Ô2à—:‘:˜eÑ$ˆØ—:‘:˜s C˜jÓ)×.Ñ.Ó0×7Ñ7¸Ó=ˆÜ—9‘9˜h¬´°B³¨yÀÀ Ô(NÐOÓPˆØˆŒ à×#Ñ# H§N¡NÓ3ˆØ—?‘? 1Ó%×,Ñ,¬R¯X©XÓ6ˆÜ
×јx¨Õ2r"c
ó>—tjjd«jddd¬«}tjjd«jddd¬«}tjjd«jddd¬«}t    |||dœ«}t |||gd    gd
d d ¬ «}|j jdk(sJ‚|jjddgk(sJ‚|d}|jd    g«j«jd«}tt|«gtd gd    ¬«¬«}tj ||g«}d|_t%j&||«|j(d }    |jddg«j«jd«}
tj |
tt|«gdg¬«g«}
d |
_|
j+|    j «}
|
j-d«jtj.«}
t%j&|    |
«d} ddd    dgfD]:} t1j2t4| ¬«5t |||gd    gd
d | ¬ «ddd«Œ<y#1swYŒGxYw)NrrrZr9r:r;r8r=r>rATÚTOTAL)rBrCr[Ú margins_namer\r?r@)rlr_r`rTrNz&margins_name argument must be a stringiš©Úmatch)rrrrFrr    rGrHrIr&r'r,rrarrrrUr)rbrcrdr+r-ÚpytestÚraisesÚ
ValueError) r/r>r?r@r r0rerfrgrhriÚmsgrms              r!Ú%test_crosstab_margins_set_margin_namez2TestCrosstab.test_crosstab_margins_set_margin_namežsU€ä I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆÜ I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆÜ I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆä ˜Q Q¨QÑ/Ó 0ˆäØ Ø ˆFؐUØØØ ô 
ˆð|‰|×!Ñ! VÒ+Ð+Ð+؏~‰~×#Ñ#¨¨S zÒ1Ð1Ð1à˜+Ñ&ˆØ—:‘:˜s˜eÓ$×)Ñ)Ó+×2Ñ2°4Ó8ˆäœS ›W˜I¬U°G°9À3Ô-GÔHˆ
Ü—9‘9˜h¨
Ð3Ó4ˆØ%ˆŒ ä
×јx¨Ô2à—:‘:˜gÑ&ˆØ—:‘:˜s C˜jÓ)×.Ñ.Ó0×7Ñ7¸Ó=ˆÜ—9‘9˜h¬´°B³¨yÀÀÔ(PÐQÓRˆØˆŒ à×#Ñ# H§N¡NÓ3ˆØ—?‘? 1Ó%×,Ñ,¬R¯X©XÓ6ˆÜ
×јx¨Ô2à6ˆØ  $¨¨c¨
Ð3ò        ˆLÜ—‘œz°Ô5ñ ÜØØ˜FØ!˜UØ'Ø Ø!-õ ÷ ð ñ        ÷ ð ús É3JÊJ    có,—tjjd«jddd¬«}tjjd«jddd¬«}tjjd«jddd¬«}tjjd«j    d«}t ||g||dd    d
gd g¬ «}t ||||d œ«}|jdd    d
gd d¬«}tj||«y)NrrrZr9r:r;r8Úsumr r Úbaz)ÚaggfuncrBrC)r r rwÚvaluesry)rGrIrx)
rrrrFrr    rÚ pivot_tabler)r*)r/r>r?r@ryÚtabler r1s        r!Útest_crosstab_pass_valuesz&TestCrosstab.test_crosstab_pass_valuesÐsý€Ü I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆÜ I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆÜ I‰I× !Ñ ! !Ó $× -Ñ -¨a°¸Ð -Ó =ˆÜ—‘×&Ñ& qÓ)×9Ñ9¸#Ó>ˆäØ ˆFAv u¸¸u°~ÐQVÐPWô
ˆô˜q¨°1ÀÑGÓ Hˆà—>‘>Ø ˜U E˜N°EÀ5ð"ó
ˆô     ×јe XÕ.r"cóR—tjgd¢t¬«}tjgd¢t¬«}tjgd¢t¬«}t|||gdgddgd¬    «}t    j
gd
¢ddg¬ «}t j|j|«y) N©r r r r r r r rR)r r rr rrr©rrrrrrrr>r?r@F)rBrCÚdropna))r r)r r)rr)rr©rH)    rrWÚobjectr    rÚ from_tuplesr)Úassert_index_equalrI)r/r>r?r@ÚresÚms      r!Útest_crosstab_dropnaz!TestCrosstab.test_crosstab_dropnaás…€ä H‰HÒFÌfÔ UˆÜ H‰HÒFÌfÔ UˆÜ H‰HÚ FÌfô
ˆôq˜1˜a˜&¨C¨5¸CÀ¸:ÈeÔTˆÜ × "Ñ "Ú Rؘ*ô
ˆô     ×јcŸk™k¨1Õ-r"có֗tgd¢gd¢¬«}tgd¢gd¢¬«}t||«}ttgdd¬«tgdd¬«¬«}t    j
||«y)    N)rMrr;rN)rOr8ér-rD©rSrUrErV)rr    rrr)r*)r/Ús1Ús2Úactualr1s     r!Útest_crosstab_no_overlapz%TestCrosstab.test_crosstab_no_overlapïs\€ô’I¢YÔ /ˆÜ ’I¢YÔ /ˆä˜"˜bÓ!ˆÜܘ '°Ô8ܘ" G°'Ô:ô
ˆô
     ×јf hÕ/r"có6—tdddddtjggd¢dœ«}t|j|j
dd¬«}tgd¢gd¢gd    ¢g«}t gd
¢d ¬ «|_t gd ¢d¬ «|_tj||«y)NrMr©r;r;rOrOrOrO©r>r?T©r[r€©rMrrM)rMr;rO)rr;r8©çð?ç@r^r>rT©r;rOr^r?© rrÚnanr    r>r?rrGrIr)r*©r/r rr1s    r!Útest_margin_dropnazTestCrosstab.test_margin_dropnaýs|€ô
˜a  A q¨!¬R¯V©VÐ4Ò;MÑNÓ OˆÜ˜"Ÿ$™$ §¡¨d¸4Ô@ˆÜšiª²IÐ>Ó?ˆÜÒ0°sÔ;ˆŒÜ ¢°SÔ9ˆÔÜ
×јf hÕ/r"c    ó®—tdtjtjtjdtjgdtjddddgdœ«}t|j|j
dd¬«}tgd¢gd    ¢gd
¢g«}t gd ¢d ¬ «|_t gd¢d¬ «|_tj||«y)NrMrr;rOr‘Tr’r“rL©rMrMrr”r>rT)ç@ç@r^r?r˜ršs    r!Útest_margin_dropna2z TestCrosstab.test_margin_dropna2    sž€Ü Ø”b—f‘fœbŸf™f¤b§f¡f¨a´·±Ð8ÀÄ2Ç6Á6È1ÈaÐQRÐTUÐ?VÑ Wó
ˆô˜"Ÿ$™$ §¡¨d¸4Ô@ˆÜšiª²IÐ>Ó?ˆÜÒ0°sÔ;ˆŒÜ Ò!2¸Ô=ˆÔÜ
×јf hÕ/r"cóŠ—tdtjtjtjtjdggd¢dœ«}t|j|j
dd¬«}tgd¢gd¢gd    ¢g«}t gd
¢d ¬ «|_t gd ¢d¬ «|_tj||«y)NrMrrr‘Tr’r“rLrr”r>rTr—r?r˜ršs    r!Útest_margin_dropna3z TestCrosstab.test_margin_dropna3s‹€Ü Ø”b—f‘fœbŸf™f¤b§f¡f¬b¯f©f°aÐ8Ò?QÑ Ró
ˆô˜"Ÿ$™$ §¡¨d¸4Ô@ˆÜšiª²IÐ>Ó?ˆÜÒ0°sÔ;ˆŒÜ ¢°SÔ9ˆÔÜ
×јf hÕ/r"cóz—tdddddtjggd¢dœ«}t|j|j
dd¬«}tgd¢gd    ¢d
dtjggd ¢g«}t d d tjdgd¬«|_t gd¢d¬«|_tj||«y)NrMrrr‘TFr’©rMrr•)rMr;rŸr)rrOç@r•r–r^r>rTr—r?r˜ršs    r!Útest_margin_dropna4z TestCrosstab.test_margin_dropna4s”€ô
˜a  A q¨!¬R¯V©VÐ4Ò;MÑNÓ OˆÜ˜"Ÿ$™$ §¡¨d¸5ÔAˆÜškª;¸¸A¼r¿v¹v¸Ê ÐTÓUˆÜ  S¬"¯&©&°%Ð8¸sÔCˆŒÜ ¢°SÔ9ˆÔÜ
×јf hÕ/r"c    ó—tdtjtjtjdtjgdtjddddgdœ«}t|j|j
dd¬«}tgd    ¢gd
¢d ddtjggd ¢g«}t d dtjdgd¬«|_t ddtjdgd¬«|_tj||«y)NrMrr;rOr‘TFr’)rMrrr•)rrMrr•r)rMrOrr¥r•r–r^r>rTržrŸr?r˜ršs    r!Útest_margin_dropna5z TestCrosstab.test_margin_dropna5)sʀä Ø”b—f‘fœbŸf™f¤b§f¡f¨a´·±Ð8ÀÄ2Ç6Á6È1ÈaÐQRÐTUÐ?VÑ Wó
ˆô˜"Ÿ$™$ §¡¨d¸5ÔAˆÜÚ š^¨a°°A´r·v±vÐ->ÂÐ Oó
ˆô  S¬"¯&©&°%Ð8¸sÔCˆŒÜ  # s¬B¯F©F°EÐ!:ÀÔEˆÔÜ
×јf hÕ/r"c
óz—tjgd¢t¬«}tjdddddtjdgt¬«}tjgd¢t¬«}t    |||gdgddgd    d
¬ «}t j ddddtjtjd ggd ¢gddg¬«}tgd¢gd¢gd¢g|¬«}tgd¢d¬«|_    tj||«t    ||g|ddgdgd    d
¬ «}t j gd¢ddtjddtjdggddg¬«}tgd¢gd¢ddtjggd¢gd¢ddtjggd¢g|¬«}tgd¢d¬«|_ tj||«t    ||g|ddgdgd    d    ¬ «}t j gd¢gd ¢gddg¬«}tgd!¢gd!¢gd"¢gd#¢gd$¢g|¬«}tgd¢d¬«|_ tj||«y)%Nr~rRr rrr>r?r@TF)rBrCr[r€r^)rrrrrrr_r)rMrrMrrrr)rrrMrMrrMr8)r;rrrMrrrZ)rI©r r r^rT)r r r r r r r^r_r¤r)rrr–)rMrMr–rM)r8rg@rN)rrr^)r r r r r^)r rr rr_r“)rrrr)r8rMr‰) rrWr‚r™r    rÚ from_arraysrrrGr)r*rI)r/r>r?r@rr†r1s       r!Útest_margin_dropna6z TestCrosstab.test_margin_dropna66s(€ä H‰HÒFÌfÔ UˆÜ H‰He˜U E¨5°%¼¿¹ÀÐGÌvÔ VˆÜ H‰HÚ FÌfô
ˆôØ 1ˆv  °°c°
ÀDÐQVô
ˆô × "Ñ "à˜˜u e¬R¯V©V´R·V±V¸UÐCÚGð ð˜*ô 
ˆôÚ "Ò$9Ò;PÐ QØô
ˆôÒ4¸3Ô?ˆŒÜ
×јf hÔ/äØ ˆFA  c 
°c°UÀDÐQVô
ˆô × "Ñ "âAؘœrŸv™v u¨e´R·V±V¸RÐ@ð ð˜*ô 
ˆôâÚØA”r—v‘vÚÚØA”r—v‘vÚð ðô 
ˆô!Ò!9ÀÔDˆÔÜ
×јf hÔ/äØ ˆFA  c 
°c°UÀDÐQUô
ˆô × "Ñ "Ú 0Ò2RÐ Sؘ*ô
ˆôÚ š    ¢9ªiºÐ CÈ1ô
ˆô!Ò!9ÀÔDˆÔÜ
×јf hÕ/r"c    ó‚—tgd¢gd¢ddtjddgdœ«}tddgd¬«}tdd    gd
¬«}td d gd d gg||¬«}tdd gddgg||¬«}tdd gddgg||¬«}t    j
t |j|jd¬«|«t    j
t |j|jd¬«|«t    j
t |j|jd¬«|«t    j
t |j|jd¬«|«t    j
t |j|jd¬«t |j|jd¬««t    j
t |j|jd ¬«t |j|jd¬««tdd gddgdd ggtgd¢dd¬«tdd    gd
d¬«¬«}tgd¢gd¢gtddgdd¬«tgd¢d
d¬«¬«}tgd¢gd ¢gd!¢gtgd¢dd¬«tgd¢d
d¬«¬«}    t    j
t |j|jdd¬"«|«t    j
t |j|jdd¬"«|«t    j
t |j|jdd¬"«|    «y)#N©rMrrrr©r;r;rOrOrOrMr=rr>rTr;rOr?皙™™™™É?rç333333ã?rVr•çÐ?çè?çà?Úall©Ú    normalizeTrGrI皙™™™™Ù?©rMrr^r‚©rUrS)r´rr°)r´r•çš™™™™™é?r—)r°rr°)r°r±r»©r¸r±rM©r·r[)    rrr™rr)r*r    r>r?)
r/r ÚrindexÚcindexÚ full_normalÚ
row_normalÚ
col_normalÚrow_normal_marginsÚcol_normal_marginsÚall_normal_marginss
          r!Útest_crosstab_normalizez$TestCrosstab.test_crosstab_normalizeus¦€ä Ú!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑ Só
ˆô˜˜1v CÔ(ˆÜ˜˜1v CÔ(ˆÜ # q ¨C°¨:Р6¸fÈfÔUˆ Ü  a ¨4°¨,Ð7¸vÈvÔVˆ
Ü  a ¨3°¨*Ð5¸VÈVÔTˆ
ô     ×Ñœh r§t¡t¨R¯T©T¸UÔCÀ[ÔQÜ
×Ñœh r§t¡t¨R¯T©T¸TÔBÀKÔPÜ
×Ñœh r§t¡t¨R¯T©T¸WÔEÀzÔRÜ
×Ñœh r§t¡t¨R¯T©T¸YÔGÈÔTÜ
×ÑÜ R—T‘T˜2Ÿ4™4¨1Ô -Ü R—T‘T˜2Ÿ4™4¨9Ô 5ô    
ô     ×ÑÜ R—T‘T˜2Ÿ4™4¨1Ô -¬x¸¿¹¸b¿d¹dÈgÔ/Vô    
ô'ؐ1ˆX˜˜d| c¨3 ZÐ 0Üš ¨C°xÔ@ܘ1˜a˜& s°(Ô;ô
Ðô
'Ú šOÐ ,ܘ˜A˜ S°Ô9Üš-¨c¸ÔBô
Ðô 'Ú šOª]Ð ;Üš ¨C°xÔ@Üš-¨c¸ÔBô
Ðô
     ×ÑÜ R—T‘T˜2Ÿ4™4¨7¸DÔ AÐCUô    
ô     ×ÑÜ R—T‘T˜2Ÿ4™4¨9¸dÔ CÐEWô    
ô     ×ÑÜ R—T‘T˜2Ÿ4™4¨4¸Ô >Ð@Rõ    
r"c    ó”—tgd¢gd¢ddtjddgdœ«}ttjgd¢«tjgd¢«gtjgd¢««tgd¢gd¢gd    ¢gt gd
¢d d ¬ «t gd¢d¬«¬«}t|j |j|jddd¬«}tj||«tgd¢gd¢ddtjddgdœ«}tgd¢gd¢gd¢gt gd
¢d d ¬ «t gd¢dd ¬ «¬«}d}tjt|¬«5t|j |j|jtjdd¬«}ddd«tj||«y#1swYŒ xYw)Nr®r¯rMr=)rMrMrr)rMrrMr)r²rr²)r²r´r³)r´r´rMr¹r>r‚rºr—r?rTrVÚcountrµT)rxr·r[rrOr;)rrçr¼úusing DataFrameGroupBy.sumrn)rrr™r    rWrr>r?r@r)r*Úassert_produces_warningÚ FutureWarningrv)r/r Ú norm_countsÚ    test_caseÚnorm_sumrss      r!Útest_crosstab_normalize_arraysz+TestCrosstab.test_crosstab_normalize_arrays¨sp€ä Ú!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑ Só
ˆô
    Ü X‰X’lÓ #¤R§X¡XªlÓ%;Ð <¼b¿h¹hÂ|Ó>Tô    
ô
 Ú Ò/²Ð ?Üš ¨C°xÔ@Üš-¨cÔ2ô
ˆ ô
Ø D‰D"—$‘$˜Ÿ™ g¸Èô
ˆ    ô     ×јi¨Ô5ä Ú!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑ Só
ˆôÚ š-ªÐ 7Üš ¨C°xÔ@Üš-¨c¸ÔBô
ˆð
+ˆÜ × 'Ñ '¬ ¸SÔ Añ    Ü Ø—‘b—d‘d˜BŸD™D¬"¯&©&¸EÈ4ôˆI÷    ô     ×јi¨Õ2÷        ð    ús Å!>F>Æ>Gc    óè—tgd¢gd¢tjtjtjtjtjgdœ«}tddgddggtddgdd¬    «td
d gd ¬ «¬«}dD]F}t    |j
|j |jd|¬«}tj||«ŒHtdtjgddggtddgdd¬    «td
d gd ¬ «¬«}|r|d
jd«|d
<t    |j
|j |jdd¬«}tj||«y)Nr®r¯r=rÉrMrr>r-rºr;rOr?rTrV)TrGrIrÈ)ryrxr·F) rrr™rr    r>r?r@r)r*r,)r/Úusing_array_managerr ÚemptyÚiÚ
calculatedÚnanss       r!Útest_crosstab_with_emptiesz'TestCrosstab.test_crosstab_with_emptiesÎs;€ä â$Ú$Ü—f‘fœbŸf™f¤b§f¡f¬b¯f©f´b·f±fÐ=ñ ó
ˆôؐ3ˆZ˜#˜s˜Ð $ܘ˜A˜ S°Ô8ܘ1˜a˜& sÔ+ô
ˆð ,ò    5ˆAÜ! "§$¡$¨¯©°R·T±TÀ7ÐVWÔXˆJÜ × !Ñ ! %¨Õ 4ð    5ôØ”2—6‘6ˆ]˜S #˜JÐ 'ܘ˜A˜ S°Ô8ܘ1˜a˜& sÔ+ô
ˆñ
à˜1‘g—n‘n WÓ-ˆD‰Gä˜bŸd™d B§D¡D°·±¸wÐRWÔXˆ
Ü
×јd JÕ/r"c    óÈ—tgd¢gd¢ddtjddgdœ«}d}tjt
|¬«5t |j|j|j¬«ddd«d}tjt
|¬«5t |j|jtj¬    «ddd«d
}tjt
|¬«5t |j|jd ¬ «ddd«tjt
|¬«5t |j|jd ¬ «ddd«d}tjt
|¬«5t |j|jdd ¬«ddd«y#1swYŒ8xYw#1swYŒîxYw#1swYŒ²xYw#1swYŒxxYw#1swYyxYw)Nr®r¯rMr=z)values cannot be used without an aggfunc.rn)ryz%aggfunc cannot be used without values)rxzNot a valid normalize argumentÚ42r¶é*zNot a valid margins argumentrµr½) rrr™rprqrrr    r>r?r@Úmean)r/r Úerrors   r!Útest_crosstab_errorsz!TestCrosstab.test_crosstab_errorsîsh€ôÚ!ª¸qÀ!ÄRÇVÁVÈQÐPQÐ>RÑ Só
ˆð<ˆÜ ]‰]œ:¨UÔ 3ñ    .Ü R—T‘T˜2Ÿ4™4¨¯©Õ -÷    .ð8ˆÜ ]‰]œ:¨UÔ 3ñ    2Ü R—T‘T˜2Ÿ4™4¬¯©Õ 1÷    2ð1ˆÜ ]‰]œ:¨UÔ 3ñ    1Ü R—T‘T˜2Ÿ4™4¨4Õ 0÷    1ô]‰]œ:¨UÔ 3ñ    /Ü R—T‘T˜2Ÿ4™4¨2Õ .÷    /ð/ˆÜ ]‰]œ:¨UÔ 3ñ    >Ü R—T‘T˜2Ÿ4™4¨5¸"Õ =÷    >ð    >÷    .ñ    .ú÷    2ð    2ú÷    1ð    1ú÷    /ð    /ú÷    >ð    >ús<Á-F'Â1F4Ã,#GÄ2#G Å:$GÆ'F1Æ4F=ÇG    Ç GÇG!cóN—tgd¢gd¢dœ«}gd¢}|djd«jj|«|d<t    |d|d«}t gd¢d¬    «}t ||d
d¬ «}gd ¢gd ¢gd¢g}t|||¬«}tj||«y)N)ÚHondaÚAcuraÚTeslarßrßrà)ÚSedanrâÚElectricÚPickuprârâ)ÚMAKEÚMODEL)rârãräræÚcategoryrå)ràrßrárTF)Ú
categoriesÚorderedrU)rrr)rrrM©rrMrrV)    rr,ÚcatÚset_categoriesr    rrr)r*)r/r rèr0Úexpected_indexÚexpected_columnsÚ expected_datar1s        r!Ú%test_crosstab_with_categorial_columnsz2TestCrosstab.test_crosstab_with_categorial_columnss®€ä âNÚSñ ó
ˆò 5ˆ
ؘ‘k×(Ñ(¨Ó4×8Ñ8×GÑGÈ
ÓSˆˆ7‰ ܘ"˜V™* b¨¡kÓ2ˆäÒ:ÀÔHˆÜ+Ø  :°uÀ7ô
Ðò#¢IªyÐ9ˆ ÜØ  Ð9Iô
ˆô     ×јf hÕ/r"c ó4—tgd¢dzgd¢dzgd¢dztjjd«j    d«tjjd«j    d«d    œ«}t |d
|d g|d gd tj |d¬«}tgd¢gd¢ggd¢gd¢gd
d g¬«}tgd¢d ¬«}tjgd¢gd¢gd¢dtjdgtjddgdtjdgtjddgdtjdgtjddggd¢g
«}t|||¬«}|djd«|d<tj||«y)N©r r rÚthreer‰r4é©r r r r r r rOré©rrrrrrrrTr)rGrIr[rxry)r^r rór)r_rrr)
rMrMrMrrrr;r;r;r)
rMrr;rMrr;rMrr;r©ÚlevelsÚcodesrHrªrT)r–r–rŸr–)ç(@rûg8@rVr^r-)rrrrrr    r'rrrWr™r,r)r*)r/r r0ríÚexpected_columnrïr1s       r!Útest_crosstab_with_numpy_sizez*TestCrosstab.test_crosstab_with_numpy_sizes}€ä â3°aÑ7Ú$ qÑ(Ú?À!ÑCÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAñ  ó
ˆôؐc‘7˜B˜s™GÐ$ؘ‘WIØÜ—G‘Gؐc‘7ô 
ˆô$Ú2Ò4GÐHÚ1Ò3QÐRؘ*ô
ˆô
 Ò 5¸CÔ@ˆÜŸ™âÚÚØ”b—f‘f˜cÐ"Ü—‘˜˜cÐ"Ø”b—f‘f˜cÐ"Ü—‘˜˜cÐ"Ø”b—f‘f˜cÐ"Ü—‘˜˜cÐ"Ú"ð ó 
ˆ ôØ  ¸ô
ˆð# 5™/×0Ñ0°Ó9ˆ‰Ü
×јf hÕ/r"cóJ—ttd«d¬«}ttdd«d¬«}ttdd«d¬«}ttd«d¬«}ddi}t||«}t||«j|d¬«}t    j
||«t||g|«}t||g|«j|d    ¬
«}t    j
||«t|||g«}t|||g«j|d¬«}t    j
||«y) Nr;r rTrMrOr Úwaldo)rIÚaxisr)rGr)rÚranger    Ú rename_axisr)r*)r/r‹Ús2_fooÚs2_barÚs3Úmapperr0r1s        r!Útest_crosstab_duplicate_namesz*TestCrosstab.test_crosstab_duplicate_namesKs€ô”E˜!“H 5Ô )ˆÜœ˜a › ¨%Ô0ˆÜœ˜a › ¨%Ô0ˆÜ ”E˜!“H 7Ô +ˆð˜ˆô˜"˜fÓ%ˆÜ˜B Ó'×3Ñ3¸FÈÐ3ÓKˆÜ
×јf hÔ/ô˜2˜v˜,¨Ó+ˆÜ˜R ˜L¨"Ó-×9Ñ9ÀÈQÐ9ÓOˆÜ
×јf hÔ/ô˜"˜r 6˜lÓ+ˆÜ˜B  V  Ó-×9Ñ9À&ÈqÐ9ÓQˆä
×јf hÕ/r"rHr>rAr‘r@cóB—ttd«|d¬«}ttdd«|d¬«}tjtd«tdd«g|¬«}td|¬«j    dd¬«}t ||«}t j||«y)    Nr;rrTrMrOrrN)Ú
fill_value)rrrr«r(r    r)r*)r/rHr‹rŒÚmir1r0s       r!Útest_crosstab_tuple_namez%TestCrosstab.test_crosstab_tuple_namegs…€ä ”E˜!“H 5¨¡8Ô ,ˆÜ ”E˜!˜Q“K e¨A¡hÔ /ˆä × #Ñ #¤U¨1£X¬u°Q¸«{Ð$;À5Ô IˆÜ˜! 2Ô&×.Ñ.¨q¸QÐ.Ó?ˆä˜"˜bÓ!ˆÜ
×јf hÕ/r"c    ó6—ttd«d¬«}ttd«d¬«}ttjdd¬«t td«d¬«t td«d¬«¬«}t ||«}tj||«y)Nr;r‘rT)r@rPr-rRrV)    rrrrÚeyerr    r)r*)r/r‹rŒr1r0s     r!Útest_crosstab_both_tuple_namesz+TestCrosstab.test_crosstab_both_tuple_namesrst€ä ”E˜!“H :Ô .ˆÜ ”E˜!“H :Ô .ˆäÜ F‰F1˜GÔ $Üœ˜a› zÔ2Üœ% ›(¨Ô4ô
ˆô
˜"˜bÓ!ˆÜ
×јf hÕ/r"có6—tgd¢gd¢dœgd¢¬«}t|j|j|jg«}t gd¢d¬«}t jgd    ¢d
d g¬ «}tgd ¢gd¢gd¢g||¬«}tj||«y)N)r;rMr)r8rOr‰)r?r>©rrrrNr4rDrT))rMrO)rr‰)r;r8r?r>r)rMrrrê)rrrMrV)
rr    rGr?r>rrrƒr)r*)r/r r0Úe_idxÚ    e_columnsr1s      r!Útest_crosstab_unsorted_orderz)TestCrosstab.test_crosstab_unsorted_orders}€Ü šYªYÑ7ºÔ OˆÜ˜"Ÿ(™( R§T¡T¨2¯4©4 LÓ1ˆÜ’o¨GÔ4ˆÜ×*Ñ*Ò+CÈCÐQTÈ:ÔVˆ    ÜÚ š    ¢9Ð -°UÀIô
ˆô     ×јf hÕ/r"c    ó@—tgd¢dzgd¢dzgd¢dzdgdzdgdzd    œ«}d
}tjt|¬ «5t    |j
|j g|j|jtjd d ¬ «}ddd«ttjdgdzdgzt¬«jdd«tgd¢d¬«tj gd¢ddg¬«¬«}tj"|«y#1swYŒ…xYw)Nròr‰r4rôrõrOrrör÷rÊrnT)ryrxr·r[érMrRr<r;rªrrT)
)r r)r r)r r)rór)rór)rór)rr)rr)rrr]rrr)rIrG)rr)rËrÌr    rrrrrrvrWÚfloatÚreshaperrrƒr*)r/r rsr0r1s     r!Ú(test_crosstab_normalize_multiple_columnsz5TestCrosstab.test_crosstab_normalize_multiple_columns‰s€ä â3°aÑ7Ú$ qÑ(Ú?À!ÑCؐS˜2‘XؐS˜2‘Xñ  ó
ˆð+ˆÜ × 'Ñ '¬ ¸SÔ Añ    ÜØ—‘r—t‘t Ø—‘Ø—t‘tÜŸ™ØØô ˆF÷    ôÜ H‰HaS˜2‘X  ‘^¬5Ô 1× 9Ñ 9¸"¸aÓ @ÜÒ/°cÔ:Ü×(Ñ(ò ð˜Cjôô
ˆô&     ×јf hÕ/÷9    ð    ús ÁA
DÄDcó²—tgd¢gd¢gd¢gd¢gd¢dœ«}t|j|jg|jddd    ¬
«}td d gd d gd d gd    dgddgg«}t gd¢gd¢ggd¢gd¢gddg¬«|_tddgd¬«|_tj||«t|j|jg|jddd¬
«}tgd¢gd¢gd¢gd¢g«}tgd¢d¬«|_t d d!gd"d#gggd$¢gd%¢gddg¬«|_tj||«t|j|jg|jddd¬
«}tgd&¢gd&¢gd'¢gd(¢gd)¢g«}tgd¢d¬«|_t gd¢gd¢ggd¢gd¢gddg¬«|_tj||«y)*N©    r r r r r r r r r ©    r r r rrr r rr©    ÚsmallÚlargerrrrrrr©    rMrrr;r;rOr8r‰rZ©    rrOr8r8r‰r‰rôé    r!r÷Tú    Sub-Totalr)r[rmr·r´g]QJVUå?çF]kïSUÕ?rMç³Ñ9?ÅqÜ?ç'c`Çá?)r"r r ©r_r r)rMrMrrr©rMrrMrrrrrørrrrT)r²r°ç³Ñ9?ÅqÌ?)r´r°r#)rr¸r()rrr"r r r r)rrrMrM©rrMrrM)ç³Ñ9?Åq¼?r*r()r(r*r#)rÉr(r()r$g#„GÇá?rM) rr    rrrrrGrrIr)r*r.s    r!Útest_margin_normalizez"TestCrosstab.test_margin_normalize´sì€ä âTÚTò
ò1Ú0ñ ó
ˆô(Ø T‰T2—4‘4ˆL˜"Ÿ$™$¨¸;ÐRSô
ˆôؐ3ˆZ˜#˜s˜ h°Ð%9¸A¸q¸6ÀHÈhÐCWÐ Xó
ˆô$Ú/Ò1CÐDÚ"¢OÐ4ؘ*ô
ˆŒô
! '¨7Ð!3¸#Ô>ˆÔÜ
×јf hÔ/ôØ T‰T2—4‘4ˆL˜"Ÿ$™$¨¸;ÐRSô
ˆôâ%Ú%Ú$Ú"ð     ó
ˆô!Ò!@ÀsÔKˆÔÜ#ؘEN U¨E NÐ3Ú¢Ð.ؘ*ô
ˆŒô
     ×јf hÔ/ôØ T‰T2—4‘4ˆL˜"Ÿ$™$¨¸;ÐRVô
ˆôâ.Ú.Ú.Ú.Ú'ð  ó
ˆô!Ò!@ÀsÔKˆÔÜ#Ú/Ò1CÐDÚ"¢OÐ4ؘ*ô
ˆŒô
     ×јf hÕ/r"cóZ—tgd¢gd¢gd¢gd¢gd¢dœ«}t|j|j|jgddd¬    «}tgd
¢gd ¢gd ¢ggd ¢¬«}t gd¢gd¢ggd¢gd¢gddg¬«|_d|j_tj||«y)Nrrrrr r÷TÚmargin)rGrIr[rmr·)r*r*r(rÉr$)r*r*r*r(r%)r(r(r#r(r•)rrr-rN)r r r-r&)rrrMrMrr'rrrør) rr    rrrrrIrGrUr)r*r.s    r!Ú&test_margin_normalize_multiple_columnsz3TestCrosstab.test_margin_normalize_multiple_columnssµ€ôâTÚTò
ò1Ú0ñ ó
ˆô&Ø—$‘$Ø—T‘T˜2Ÿ4™4LØØ!Øô 
ˆôâBÚBÚ=ð ò
/ô 
ˆô&Ú,Ò.@ÐAÚ"¢OÐ4ؘ*ô
ˆÔð
"ˆ‰ÔÜ
×јf hÕ/r"c    ó8—tgd¢gd¢gd¢dœd¬«}t|d|d|d    d
d ¬ «}td tjddgddtjdggd¢gt    gd¢dd¬«t    gd¢dd¬«d¬«}t j ||«y)N)rMrrrM)r;r;rOr8)çð¿ç$@r•r1r4ÚFloat64rRrrrrvT)ryrxr[r0r1ç"@r•g&@)r3r•r1g4@r”r‚rŠ)ržrŸg@r^)rGrIrS)rr    rÚNArr)r*r.s    r!Útest_margin_support_Floatz&TestCrosstab.test_margin_support_Float.s¨€ôÚ¢\Ò8OÑ PØô
ˆôØ ˆs‰GØ ˆs‰Gؐc‘7ØØô 
ˆôà”r—u‘u˜d CÐ(ؐsœBŸE™E 4Ð(Ú&ð ô
Ò)°ÀÔDÜÒ0¸ÀsÔKØô    
ˆô     ×јf hÕ/r"có|—tgd¢gd¢dœ«}|djtd¬««|d<gd¢}|djj    |«|d<t |d|dd¬    «}t gd
¢d¬ «}t gd ¢d¬ «}gd ¢gd¢gd¢gd¢g}t|||¬«}tj||«y)N)rrrrrr)rrrrrr)ÚFirstÚSecondr7T)rérr8)r[)rrrr^rT)rrrr^)rMrMrrr))rrMrr;)rMr;rr‰rV)    rr,rrëÚreorder_categoriesr    rr)r*)r/r Úcustomized_categories_orderr0rírîrïr1s        r!Ú+test_margin_with_ordered_categorical_columnz8TestCrosstab.test_margin_with_ordered_categorical_columnHs½€ä â7Ú8ñ ó
ˆð ˜‘k×(Ñ(Ô)9À$Ô)GÓHˆˆ7‰ Ú&5Ð#ؘ‘k—o‘o×8Ñ8Ð9TÓUˆˆ7‰ ܘ"˜W™+ r¨(¡|¸TÔBˆäÒ5¸GÔDˆÜ Ò!7¸hÔGÐÚ%¢|²\Â<ÐPˆ ÜØ  Ð9Iô
ˆô     ×јf hÕ/r"N)(Ú__name__Ú
__module__Ú __qualname__r2r5rpÚmarkÚ parametrizerrWÚlistÚtuplerJrXrjrtr|r‡rŽr›r r¢r¦r¨r¬rÆrÐr×rÝrðrýrr rrrr+r.r5r;©r"r!r$r$Esþ„òKò
    0ð ‡[[×јU R§X¡X¨t°UÐ$;Ó<ñ0ó=ð0ò.0ò$3ò<0òd/ò" .ò 0ò
0ò0ò0ò
0ò 0ò=0ò~1
òf$3òL0ò@>ò40ò,+0òZ0ð8 ‡[[×јW¨¨ZÐ'8¸:ÀsÐ:KÐ&LÓMñ0óNð0ò 0ò0ò)0òVK0òZ+0òZ0ó40r"r$Úa_dtyperçr-Úb_dtypecó&—tjjd«}t|j    ddd¬««j |«}t|j    ddd¬««j |«}t ||dd¬«}tgd    ¢d
d ¬ «}tgd ¢d
d¬ «}gd¢gd¢gd¢gd¢g}t|||«}    tj||    «d|j|dk(<t|jt«}
|
r"|j«jddk(sJ‚t ||dd¬«}gd¢gd¢gd¢gd¢g}t|||«}    |
s(|    jgd¢}    |    dj d«|    d<tj||    «y)Nrrr;r9r:TFr’)rrMr^r‚rErŠ)rrMrr^rD)r<éé)ééé')érJé!)é2rNr9rM)rrr)é(é éH)rrr^r^r-)rrrrrFr,r    rrr)r*rcÚ
isinstancerSrÚ value_counts) rDrEÚgr>r?r0rIrGryr1Úa_is_cats            r!Útest_categoricalsrV^sd€ô         ‰    ×јaÓ €A܈qz‰z˜!˜Q SˆzÓ)Ó*×1Ñ1°'Ó:€A܈qz‰z˜!˜Q SˆzÓ)Ó*×1Ñ1°'Ó:€AÜ a˜ D°Ô 7€FÜ’M¨¸Ô@€GÜ Ò"¨(¸Ô A€EÚšLª,º Ð F€Fܘ ¨Ó0€HÜ×ј& (Ô+ð€A‡EEˆ!ˆq‰&Mܘ!Ÿ'™'Ô#3Ó4€HÙ˜1Ÿ>™>Ó+×/Ñ/°Ñ2°aÒ7Ð7Ð 7Ü a˜ D°Ô 7€FÚšI¢|²]Ð C€Fܘ ¨Ó0€HÙ Ø—<‘<¢ Ñ.ˆØ" 5™/×0Ñ0°Ó9ˆ‰Ü×ј& (Õ+r")ÚnumpyrrpÚpandasrrrrrrrr    Úpandas._testingÚ_testingr)Úfixturer r$r?r@rVrCr"r!ú<module>r\sðÛÛ ã÷÷ñõð‡ñ02óð02÷fV 0ñV 0ðr‡×ј Z°Ð$9Ó:؇×ј Z°Ð$9Ó:ñ,ó;ó;ñ,r"