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
267
268
269
270
Ë
nñúhŸ…ãó^—dZddlmZddlmZddlmZmZddlZ    ddlm
Z
ddl m Z ddl mZdd    lmZdd
lmZmZmZmZmZdd lmZmZmZmZmZdd lmZdd lm Z m!Z!ddl"m#Z#m$Z%ddl&m'Z'ddl(m)Z)ddl*m+Z,m-Z-m.Z.m/Z/m0Z0ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8ddl9m:Z:m;Z;ddl<m=Z=m>Z>m?Z?m@Z@ddlAmBZBmCZCmDZDmEZEerddlFmGZGmHZHddlImJZJmKZKmLZLmMZMdddddœ                                            d3d„ZN                                        d4d„ZOd5d6d„ZP                                d7d„ZQ                                d8d„ZRdddd œ                                    d9d!„ZS                                        d:d"„ZTd;d#„ZUd5d<d$„ZVd=d%„ZW                        d>d&„ZXd?d'„ZY                                        d@d(„ZZd?d)„Z[                                        dAd*„Z\d+„Z]    dB                    dCd,„Z^dDd-„Z_                        dEd.„Z`                        dFd/„Za                                dGd0„Zb                        dHd1„Zc        dI                                    dJd2„Zdy)Kz~
Functions for preparing various inputs passed to the DataFrame or Series
constructors before passing them to a BlockManager.
é)Ú annotations)Úabc)Ú TYPE_CHECKINGÚAnyN)Úma)Úusing_string_dtype)Úlib)Úastype_is_view)Ú"construct_1d_arraylike_from_scalarÚ dict_compatÚmaybe_cast_to_datetimeÚmaybe_convert_platformÚmaybe_infer_to_datetimelike)Úis_1d_only_ea_dtypeÚis_integer_dtypeÚ is_list_likeÚis_named_tupleÚis_object_dtype)ÚExtensionDtype)Ú ABCDataFrameÚ    ABCSeries)Ú
algorithmsÚcommon)ÚExtensionArray)Ú StringDtype)ÚarrayÚensure_wrapped_if_datetimelikeÚ extract_arrayÚrange_to_ndarrayÚsanitize_array)Ú DatetimeIndexÚIndexÚTimedeltaIndexÚ default_indexÚ ensure_indexÚget_objs_combined_axisÚ union_indexes)Ú ArrayManagerÚSingleArrayManager)ÚBlockPlacementÚensure_block_shapeÚ    new_blockÚ new_block_2d)Ú BlockManagerÚSingleBlockManagerÚ create_block_manager_from_blocksÚ'create_block_manager_from_column_arrays)ÚHashableÚSequence)Ú    ArrayLikeÚDtypeObjÚManagerÚnptT)ÚdtypeÚverify_integrityÚtypÚ consolidatecóJ—|r*|€ t|«}n t|«}t|||«\}}nŒt|«}|Dcgc]}t|d¬«‘Œ}}dgt    |«z}|D]S}    t |    t jtf«r'|    jdk7st    |    «t    |«k7sŒJtd«‚t|«}t    |«t    |«k7r td«‚||g}
|dk(rt||
||¬«S|d    k(rt|||g«Std
|›d «‚cc}w) zs
    Segregate Series based on type and coerce into matrices.
 
    Needs to handle a lot of exceptional cases.
    NT©Ú extract_numpyézYArrays must be 1-dimensional np.ndarray or ExtensionArray with length matching len(index)z#len(arrays) must match len(columns)Úblock)r;Úrefsrú2'typ' needs to be one of {'block', 'array'}, got 'ú') Ú_extract_indexr%Ú _homogenizerÚlenÚ
isinstanceÚnpÚndarrayrÚndimÚ
ValueErrorr1r() ÚarraysÚcolumnsÚindexr8r9r:r;rAÚxÚarrÚaxess            úUH:\Change_password\venv_build\Lib\site-packages\pandas/core/internals/construction.pyÚ arrays_to_mgrrS`sD€ñà ˆ=Ü" 6Ó*‰Eä  Ó'ˆEô# 6¨5°%Ó8‰ ˆ‘ô˜UÓ#ˆØ@FÖG¸1”- °Ö6ÐGˆÐGàˆvœ˜F› Ñ#ˆðò        ˆCä˜s¤R§Z¡Z´Ð$@ÔAØ—8‘8˜q’=ܐs“8œs 5›zÓ)ä ð6óðð         ô˜7Ó#€GÜ
ˆ7ƒ|”s˜6“{Ò"ÜÐ>Ó?Ð?ð UÐ €Dà
ˆg‚~Ü6Ø D k¸ô
ð    
ð
ŠÜ˜F U¨GÐ$4Ó5Ð5äÐOÐPSÈuÐTUÐVÓWÐWùò=Hs¼D có,—tj|«}|€tt|««}n t    |«}| t    |«}t ||«\}}t |||t|««\}}|€|}t|||||¬«}    |r|    j«}    |    S)zA
    Extract from a masked rec array and create the manager.
    ©r8r:)    rÚgetdatar$rFr%Ú    to_arraysÚreorder_arraysrSÚcopy)
ÚdatarNrMr8rYr:ÚfdatarLÚ arr_columnsÚmgrs
          rRÚrec_array_to_mgrr^¡sš€ô J‰JtÓ €EØ €}Üœc %›jÓ)‰ä˜UÓ#ˆàÐܘwÓ'ˆÜ# E¨7Ó3Ñ€FˆKô)¨°¸gÄsÈ5ÃzÓRÑ€FˆK؀؈ä
˜ ¨°eÀÔ
E€Cá Øh‰h‹jˆØ €Jócó —|dk(r‡t|t«r|}|S|jdk(r5t|j|j
d|j
dd¬«}|St j|jd|j«}|S|dk(råt|t«r|}|S|jdk(r†tt|j
d««Dcgc]}|j|«‘Œ}}|r|Dcgc]}|j«‘Œ}}t||j
d|j
dg«}|S|j«}|r|j«}t|g|jg«}|St!d|›d«‚cc}wcc}w)    zè
    Convert to specific type of Manager. Does not copy if the type is already
    correct. Does not guarantee a copy otherwise. `copy` keyword only controls
    whether conversion from Block->ArrayManager copies the 1D arrays.
    r@érr?)r:rrBrC)rGr.rJrSrLrQr/Ú
from_arrayrNr(ÚrangerFÚ iget_valuesrYÚinternal_valuesr)rK)r]r:rYÚnew_mgrÚirLrPrs        rRÚ
mgr_to_mgrrhÄs|€ð ˆg‚~Ü cœ<Ô (؈Gð0 €Nð-x‰x˜1Š}Ü'Ø—J‘J §¡¨¡ ¨S¯X©X°a©[¸gôð* €Nô#-×7Ñ7¸¿
¹
À1¹ ÀsÇyÁyÓQð" €Nð!
ŠÜ cœ<Ô (؈Gð €Nðx‰x˜1Š}Ü6;¼CÀÇÁÈÁ Ó<LÓ6MÖN°˜#Ÿ/™/¨!Õ,ÐNÐNÙØ4:Ö;¨S˜cŸh™hjÐ;FÐ;Ü& v°·±¸± ¸S¿X¹XÀa¹[Ð/IÓJð €Nð ×+Ñ+Ó-ÙØ!ŸJ™J›LEÜ,¨e¨W°s·y±y°kÓBð €NôÐOÐPSÈuÐTUÐVÓWÐWùòOùâ;s ÃFÃ8F có& —t|t«rw|€"|jt|jg«}|€ |j}n|j |«}t |«s(|&t |«rtjdt¬«}|dk(rdn|}t|dd«}d}t|«s t|«ršt|tjtf«r<|jdkDr-t|j d«D    cgc] }    |dd…|    f‘Œ }}    n|g}|€ttt |«««}n t#|«}t%|||||¬«St|t&«rBt)|d¬    «}|r|j+«}|jdk(r|j-d
d«}nòt|ttf«r[|s$|t/|j0|«r |j2}|r|j4j+«}n |j4}t7|«}nt|tjtf«rT|r1|t/|j0|«rtj8|dd ¬ «}ntj:|«}t7|«}n t=||¬ «}||j0|k7rt?|d||d¬«}tA|j d|j d||¬«\}}tC|||«|dk(rtE|j0jFtH«rtj8|t¬«}|€TtK|j0«r?t|j d«D
cgc]}
tMtO|dd…|
f««‘Œ} }
nWtQjR|j0d«r tM|«}t|j d«D
cgc] }
|dd…|
f‘Œ } }
|r| D cgc]} | j+«‘Œ} } tU| ||gd¬«S|jV}|€ÖtK|j0«rÁtY|«} | Dcgc] }tO|«‘Œ}}t[d„t]| |«D««rS|Dcgc]}t_|d«‘Œ}}tt |««D    cgc]}    ta||    tc|    «¬«‘Œ}}    ntctet |«««}ta|||¬«}|g}n×|€§|j0jfdk(rŽti«r„tktjl¬«}tY|«} to| «D
cgc]H\}
}tq|js«ju||¬«tcte|
|
dz««d¬«‘ŒJ}}
}n.tctet |«««}ta|||¬«}|g}t |«dk(rg}tw|||gd¬«Scc}    wcc}
wcc}
wcc} wcc}wcc}wcc}    wcc}}
w)N)rr?©r8rFr8r?rUTr=éÿÿÿÿÚF)rYÚorder©rY)r8rYÚallow_2dr)rNrMÚmM)r9c3ó*K—|] \}}||u–—Œ y­w©N©)Ú.0rOÚys   rRú    <genexpr>z!ndarray_to_mgr.<locals>.<genexpr>psèø€ÒG™d˜a ˆq˜ŒzÑGùs‚ra)Ú    placement)rwrAÚU)Úna_value)rJ)<rGrÚnamer"rNÚreindexrFrHÚemptyÚobjectÚgetattrrrIrrJrcÚshaper%rSrrrYÚreshaper
r8Ú _referencesÚ_valuesÚ
_ensure_2drÚasarrayÚ_prep_ndarrayliker Ú    _get_axesÚ!_check_values_indices_shape_matchÚ
issubclassÚtypeÚstrrrrr    Ú is_np_dtyper(ÚTÚlistÚanyÚzipr+r-r*ÚsliceÚkindrrÚnanÚ    enumerater,Úconstruct_array_typeÚ_from_sequencer0)ÚvaluesrNrMr8rYr:Úcopy_on_sanitizeÚvdtyperAÚnrgrLrPÚ obj_columnsrOÚmaybe_datetimeÚdvalÚ
dvals_listÚ block_valuesÚbpÚnbrZs                      rRÚndarray_to_mgrr¡ísd€ô &œ)Ô$Ø ˆ?؏{‰{Ð&Ü §¡  Ó.Ø ˆ=Ø—L‘L‰Eà—^‘^ EÓ*ˆFô6Œ{˜wÐ2´s¸7´|Ü—X‘X˜f¬FÔ3ˆFð!$ w¢‘u°DÐä V˜W dÓ +€FØ €Dܘ6Ô"Ô&9¸%Ô&@ô fœrŸz™z¬>Ð:Ô ;ÀÇ Á ÈaÂô˜vŸ|™|¨A™Ó/öàð’q˜!t“ ðˆFñð
XˆFà ˆ?ÜœE¤# f£+Ó.Ó/‰Gä" 7Ó+ˆGä˜V W¨e¸5ÀcÔJÐJä    FœNÔ    +ô˜v°TÔ:ˆÙ Ø—[‘[“]ˆFØ ;‰;˜!Ó Ø—^‘^ B¨Ó*‰Fä    FœY¬Ð.Ô    /ÙØ ˆMœ^¨F¯L©L¸%Ô@à×%Ñ%ˆDá Ø—^‘^×(Ñ(Ó*‰Fà—^‘^ˆFä˜FÓ#‰ä    FœRŸZ™Z¬Ð8Ô    9á   ´.ÀÇÁÈuÔ2Uô—X‘X˜f¨4°sÔ;‰Fä—Z‘Z Ó'ˆFܘFÓ#‰ô
# 6Ð0@ÔAˆà ИVŸ\™\¨UÒ2äØ Ø ØØ!Øô 
ˆô؏ ‰ Q‰˜Ÿ™ a™°¸wôN€Eˆ7ô& f¨e°WÔ=à
ˆgƒ~Ü f—l‘l×'Ñ'¬Ô -Ü—X‘X˜f¬FÔ3ˆFà ˆ=œ_¨V¯\©\Ô:ô
˜vŸ|™|¨A™Ó/ö    ðô/Ü/°²q¸!°t± Ó=õðˆFñô‰˜vŸ|™|¨TÔ2Ü7¸Ó?Ü,1°&·,±,¸q±/Ó,BÖC qfšQ ˜T“lÐCˆFÐCá Ø,2Ö3 Sc—h‘h•jÐ3ˆFÐ3ä˜F U¨GÐ$4ÀuÔMÐMà X‰X€Fð
 €}œ¨¯©Ô6ܘ6“lˆ ØBMÖN¸QÔ5°aÕ8ÐNˆÐNä ÑG¤c¨+°~Ó&FÔGÔ GØBPÖQ¸$Ô,¨T°1Õ5ÐQˆJÐQôœs :›Ó/öàô˜Z¨™]´nÀQÓ6GÖHðˆLòô
 ¤¤c¨'£lÓ 3Ó4ˆBܘf°¸Ô>ˆBؘ4‰LØ    ˆ˜6Ÿ<™<×,Ñ,°Ò3Ô8JÔ8LܤR§V¡VÔ,ˆä˜6“lˆ ô% [Ó1÷ 
ñ 4ô Ø×*Ñ*Ó,×;Ñ;¸DÈÐ;ÓNÜœu Q¨¨A©›Ó/Øö ð
ˆ ò
ôœE¤# g£,Ó/Ó 0ˆÜ ˜&¨B°TÔ :ˆØtˆ ä
ˆ7ƒ|qÒàˆ ä +ؐw Ð&¸ô ðùòEùòRùòDùò4ùòOùòRùòùó
s1Ã?W*Í$"W/ÏW4Ï&W9ÑW>Ñ5XÒ  XÕ A X có0—|jdt|«k7s|jdt|«k7r`|jddcxk(rt|«kr td«‚|j}t|«t|«f}td|›d|›«‚y)z\
    Check that the shape implied by our axes matches the actual shape of the
    data.
    r?rz)Empty data passed with indices specified.zShape of passed values is z, indices imply N)rrFrK)r–rNrMÚpassedÚimplieds     rRr‡r‡•s”€ð‡||Aœ#˜g›,Ò&¨&¯,©,°q©/¼SÀ»ZÒ*Gð <‰<˜‰?˜aÔ ,¤# e£*Ò ,ÜÐHÓIÐ Ið -𗑈ܐu“:œs 7›|Ð,ˆÜÐ5°f°XÐ=MÈgÈYÐWÓXÐXð+Hr_r@)r8r:rYcóè—|Lddlm}|||t¬«}|j«}|€t    ||«}n t |«}|j «rãt|«sØ|O|jj«d}    |    D],}
t|j|
||¬«} | |j|
<Œ.n‡tjd«} ttjt!|«| «} |j#«}|r| g|z}n&t%|«Dcgc]}| j'«‘Œ}}||j(|<t+|«}t |«}nVt+|j-««}|r t/|«n
t1d«}|Dcgc]}t3j4||«‘Œ}}|r§|dk(rw|Dcgc]k}t7|t8«r|j'«nHt7|t.«s%t7|t:«r't=|j«r|j'd¬«n|‘Œm}}n+|Dcgc] }t?|d    «r|j'«n|‘Œ"}}tA||||||¬
«Scc}wcc}wcc}wcc}w) z’
    Segregate Series based on type and coerce into matrices.
    Needs to handle a lot of exceptional cases.
 
    Used in DataFrame.__init__
    r)ÚSeries)rNr8rjr}r@T)Údeepr8)r8r:r;)!Úpandas.core.seriesr¦r}ÚisnarDr%rŽrr–Únonzeror ÚiatrHr8r r’rFÚsumrcrYÚlocrÚkeysr"r$ÚcomÚmaybe_iterable_to_listrGrrrÚhasattrrS)rZrNrMr8r:rYr¦rLÚmissingÚmidxsrgrPÚ    nan_dtypeÚvalÚnmissingÚrhsÚ_r®ÚkrOs                    rRÚ dict_to_mgrrº§sE€ð"ÑÝ-ᘠG´6Ô:ˆØ—+‘+“-ˆØ ˆ=ô# 6¨7¨(Ñ#3Ó4‰Eä  Ó'ˆEð ;‰;Œ=Ô!1°%Ô!8ðР𠟙×.Ñ.Ó0°Ñ3Øò(AÜ(¨¯©°A©¸ÀUÔKCØ$'F—J‘J˜q’Mñ(ô
ŸH™H XÓ.    Ü8¼¿¹ÄÀUÃÈYÓWØ"Ÿ;™;›=Ùؘ% (Ñ*‘Cô05°X«Ö?¨!˜3Ÿ8™8:Ð?CÐ?Ø&)—
‘
˜7Ñ#äf“ˆÜ˜wÓ'‰ôD—I‘I“KÓ ˆÙ!%”%˜”+¬=¸Ó+;ˆØ?CÖD¸!”#×,Ñ,¨T°!©WÕ5ÐDˆÐDá Ø 'Š>ð ö ðô˜a¤Ô0ð—‘”ô˜q¤%Ô(Ü! !¤YÔ/Ü+¨A¯G©GÔ4ð    —V‘V VÔ&ð ñð ˆFñ ðGMÖMÀ¤'¨!¨WÔ"5a—f‘f”h¸1Ñ<ÐMˆFÐMä ˜ ¨%°uÀ#ÐSWÔ XÐXùò?@ùòEùò ùòNsÄI ÆI%Æ1A0I*È(%I/cóþ—t|d«r|€t|dj«}t|||¬«\}}t|«}|€3t    |dt
«r t |«}ntt|««}|||fS)zA
    Convert a single sequence of arrays to multiple arrays.
    rrj)    rr%Ú_fieldsrWrGrÚ_get_names_from_indexr$rF)rZrMrNr8rLs     rRÚnested_data_to_arraysr¾úsz€ôd˜1‘gÔ 7 ?ܘt A™wŸ™Ó/ˆä  g°UÔ;O€FˆGܘ7Ó#€Gà €}Ü d˜1‘gœyÔ )Ü)¨$Ó/‰Eä!¤# d£)Ó,ˆEà 7˜EÐ !Ð!r_có°—t|«dkDxrGt|d«xr7t|ddd«dk(xr"t|t«xr|j
dk( S)z7
    Check if we should use nested_data_to_arrays.
    rrJr?ra)rFrr~rGrrJ)rZs rRÚtreat_as_nestedrÀsc€ô
     ˆD‹    A‰ ò    FÜ ˜˜a™Ó !ò    Fä D˜‘G˜V QÓ '¨1Ñ ,ò    Fô˜D¤.Ó1ÒD°d·i±iÀ1±nÐ Eð    r_có>—t|«dk(rtjdt¬«St    |t
«r t |«}|dtjfSd„}t|d«r4tj|Dcgc]
}||«‘Œ c}«}t|«St    |dtj«rF|djdk(r4tj|Dcgc]
}||«‘Œ c}«}t|«S||«}t|«Scc}wcc}w)Nr)rrrj.cóp—t|«rt|t«r|St|d¬«}t    |«}|S)NTr=)rrGrrr)ÚvÚress  rRÚconvertz"_prep_ndarraylike.<locals>.convert/s4€Ü˜AŒ¤*¨Q´ Ô"=؈Hä ˜!¨4Ô 0ˆÜ$ QÓ'ˆðˆ
r_) rFrHr|r}rGrcrÚnewaxisrrrIrJrƒ)r–rYrPrÅrÃs     rRr…r…#sô€ô ˆ6ƒ{aÒôx‰x˜¤fÔ-Ð-Ü    FœEÔ    "ܘvÓ&ˆØ3œŸ
™
?Ñ#Ð#òôF˜1‘IÔÜ—‘¨vÖ6¨!™7 1:Ò6Ó7ˆô fÓ Ðô
F˜1‘IœrŸz™zÔ    *¨v°a©y¯~©~ÀÒ/Bä—‘¨vÖ6¨!™7 1:Ò6Ó7ˆô fÓ Ðñ˜“ˆä fÓ Ðùò7ùò7s Á>DÃ!Dcó¶—|jdk(r"|j|jddf«}|S|jdk7rtd|j›«‚|S)zB
    Reshape 1D values, raise on anything else other than 2D.
    r?rrazMust pass 2-d input. shape=)rJr€rrK)r–s rRrƒrƒIs\€ð‡{{aÒØ—‘ §¡¨a¡°!Р4Ó5ˆð €Mð
‰˜Ò    ÜÐ6°v·|±|°nÐEÓFÐFØ €Mr_có¾—d}g}g}|D]N}t|ttf«rn||j|d¬«}t|t«r!|j|ur|j |d¬«}|j |j«|j}n¶t|t«rp|€|jd«}t|ttf«r t|«}n t|«}tj||jtj ¬«}t#|||d¬«}t%j&||«|j d«|j |«ŒQ||fS)NFrnÚO)Údefault©r8rY)rGrr"ÚastyperNr{Úappendrr‚Údictr!r#r r    Ú fast_multigetrHr’r r¯Úrequire_length_match)rZrNr8ÚoindexÚ homogenizedrArµs       rRrErETs1€ð€FØ€Kà€Dàó ˆÜ cœI¤uÐ-Ô .ØÐ Ø—j‘j ¨UjÓ3Ü˜#œyÔ)¨c¯i©i¸uÑ.Dð—k‘k %¨ekÓ4Ø K‰K˜Ÿ™Ô (Ø—+‘+‰Cä˜#œtÔ$ð>Ø"Ÿ\™\¨#Ó.Fä˜e¤m´^Ð%DÔEä% cÓ*‘Cô˜s›)CÜ×'Ñ'¨¨V¯^©^ÄRÇVÁVÔLä   e°5¸uÔEˆCÜ × $Ñ $ S¨%Ô 0Ø K‰K˜Ô à×ј3Öð; ð> ˜Ð Ðr_cóh—t|«dk(r td«Sg}g}d}d}d}|D]Ø}t|t«rd}|j    |j
«Œ1t|t «r+d}|j    t|j«««Œlt|«r-t|dd«dk(rd}|j    t|««Œ¤t|tj«sŒ¿|jdkDsŒÏtd«‚|s |s td«‚|r t|«}n|r t|d¬«}|rztt!|««}t|«dkDr td    «‚|r td
«‚|r0|dt«k7r-d |d›d t|«›}    t|    «‚t|d«}t#«S) zR
    Try to infer an Index from the passed data, raise ValueError on failure.
    rFTrJr?z,Per-column arrays must each be 1-dimensionalz2If using all scalar values, you must pass an index©Úsortz%All arrays must be of the same lengthz<Mixing dicts with non-Series may lead to ambiguous ordering.z array length z does not match index length )rFr$rGrrÍrNrÎrr®rr~rHrIrJrKr'Úsetr%)
rZÚ raw_lengthsÚindexesÚhave_raw_arraysÚ have_seriesÚ
have_dictsrµrNÚlengthsÚmsgs
          rRrDrD~s¥€ô
 ˆ4ƒyA‚~ܘQÓÐà€KØ,.€Gà€OØ€KØ€Jàò MˆÜ cœ9Ô %؈KØ N‰N˜3Ÿ9™9Õ %Ü ˜œTÔ "؈JØ N‰Nœ4 §¡£
Ó+Õ ,Ü ˜#Ô ¤7¨3°¸Ó#:¸aÒ#?Ø"ˆOØ × Ñ œs 3›xÕ (Ü ˜œRŸZ™ZÕ (¨S¯X©X¸«\ÜÐKÓLÐ Lð Mñ ™;ÜÐMÓNÐNáܘgÓ&‰Ù    Ü˜g¨EÔ2ˆáÜ”s˜;Ó'Ó(ˆÜ ˆw‹<˜!Ò ÜÐDÓEÐ Eá ÜØNóð ñ ؐq‰zœS ›ZÒ'à# G¨A¡J <ð0Ü! %›j˜\ð+ðô! “oÐ%ä! '¨!¡*Ó-ˆEä ˜Ó Ðr_có0—|‘|j|«s€g}|j|«}t|«D][\}}|dk(r;tj|t
¬«}|j tj«n||}|j|«Œ]|}|}||fS)zB
    Pre-emptively (cheaply) reindex arrays with new columns.
    rkrj)    ÚequalsÚ get_indexerr“rHr|r}Úfillr’rÍ)    rLr\rMÚlengthÚ
new_arraysÚindexerrgr¹rPs             rRrXrX¹s˜€ðÐØ~‰~˜kÔ*à*,ˆJØ!×-Ñ-¨gÓ6ˆGÜ! 'Ó*ò '‘1ؘ’7äŸ(™( 6´Ô8CØ—H‘HœRŸV™VÕ$à  ™)CØ×!Ñ! #Õ&ð 'ð ˆFØ!ˆKà ;Ð Ðr_có—td„|D««}|stt|««Stt    t|«««}d}t |«D]'\}}t |dd«}||||<Œd|›||<|dz }Œ)t|«S)Nc3ó:K—|]}t|dd«du–—Œy­w)rzN)r~)rtÚss  rRrvz(_get_names_from_index.<locals>.<genexpr>Õsèø€ÒKÀœ  6¨4Ó0¸Ô<ÑKùs‚rrzzUnnamed r?)rŽr$rFrrcr“r~r")rZÚ has_some_namerNÚcountrgrçr™s       rRr½r½Ôs”€ÜÑKÀdÔKÓK€MÙ ÜœS ›YÓ'Ð'ä ¤¤s¨4£yÓ!1Ó2€EØ €Eܘ$“ò‰ˆˆ1Ü Av˜tÓ $ˆØ ˆ=؈E!ŠHà! % Ð)ˆE!‰HØ Q‰J‰Eð ô ‹<Ðr_cót—|€ t|«}n t|«}|€t|«}||fSt|«}||fSrr)r$r%)ÚNÚKrNrMs    rRr†r†æsN€ð  €}ܘaÓ ‰ä˜UÓ#ˆà€Ü Ó"ˆð 'ˆ>Ðô˜wÓ'ˆØ 'ˆ>Ðr_có8—ddlm}tt||««S)a·
    Converts a list of dataclass instances to a list of dictionaries.
 
    Parameters
    ----------
    data : List[Type[dataclass]]
 
    Returns
    --------
    list_dict : List[dict]
 
    Examples
    --------
    >>> from dataclasses import dataclass
    >>> @dataclass
    ... class Point:
    ...     x: int
    ...     y: int
 
    >>> dataclasses_to_dicts([Point(1, 2), Point(2, 3)])
    [{'x': 1, 'y': 2}, {'x': 2, 'y': 3}]
 
    r)Úasdict)Ú dataclassesrîrÚmap)rZrîs  rRÚdataclasses_to_dictsrñøs€õ0#ä ”F˜DÓ!Ó "Ð"r_cóÈ—t|«s¯t|tj«rˆ|jj
rt |jj
«}|Dcgc]}||‘Œ    }}t|«dk(r/t|«D]!\}}|jdk(sŒ|dd…df||<Œ#||fSgt g«fSt|tj«rT|jj
>tt|jj
««}|Dcgc]}||‘Œ    }}||fSt|dttf«r t|«}nst|dtj«rt||«\}}nFt|dt «rt#||«\}}n#|Dcgc] }t|«‘Œ}}t|«}t%|||«\}    }|    |fScc}wcc}wcc}w)a    
    Return list of arrays, columns.
 
    Returns
    -------
    list[ArrayLike]
        These will become columns in a DataFrame.
    Index
        This will become frame.columns.
 
    Notes
    -----
    Ensures that len(result_arrays) == len(result_index).
    Nrra)rFrGrHrIr8Únamesr%r“rJr"rÚtupleÚ_list_to_arraysrÚMappingÚ_list_of_dict_to_arraysrÚ_list_of_series_to_arraysÚ_finalize_columns_and_data)
rZrMr8rzrLrgrPr¹rOÚcontents
          rRrWrWs´€ô$ ˆtŒ9Ü dœBŸJ™JÔ '؏z‰z×ÑÐ+ä& t§z¡z×'7Ñ'7Ó8Ø18Ö9¨˜$˜t›*Ð9Ð9ät“9 ’>ô#,¨FÓ"3ò2™˜˜3ØŸ8™8 q›=Ø(+ªA¨q¨D©    ˜F 1šIð2ð˜wÐ&Ø”< Ó#Ð#Ð#ä    Dœ"Ÿ*™*Ô    %¨$¯*©*×*:Ñ*:Ð*F䜘TŸZ™Z×-Ñ-Ó.Ó/ˆØ#*Ö+˜a$q“'Ð+ˆÐ+ؐwˆÐä$q‘'œD¤%˜=Ô)ܘdÓ#‰Ü    D˜‘GœSŸ[™[Ô    )Ü.¨t°WÓ=‰ ˆ‰WÜ    D˜‘GœYÔ    'Ü0°°wÓ?‰ ˆ‰Wð#'Ö'˜Q”a•Ð'ˆÐ'ܘdÓ#ˆä1°#°wÀÓFÑ€GˆWØ GÐ Ðùò=:ùò,ùò(sÁ GÄ GÆ"Gcó„—t|dt«rtj|«}|Stj|«}|S)Nr)rGrôr    Úto_object_array_tuplesÚto_object_array)rZrús  rRrõrõQs@€ô$q‘'œ5Ô!Ü×,Ñ,¨TÓ2ˆð €Nô×%Ñ% dÓ+ˆØ €Nr_cóÞ—|€3|Dcgc]}t|ttf«sŒ|‘Œ}}t|d¬«}i}g}|D]’}t    |dd«}|€t t |««}t|«|vr|t|«}n|j|«x}|t|«<t|d¬«}    |jtj|    |««Œ”tj|«}
|
|fScc}w)NFrÔrNTr=)rGrrr&r~r$rFÚidràrrÍrÚtake_ndrHÚvstack) rZrMrOÚ    pass_dataÚ indexer_cacheÚaligned_valuesrçrNrär–rús            rRrørø\sò€ð €à $ÖQ˜1¬
°1´yÄ,Ð6OÕ(P’QÐQˆ    ÐQÜ(¨¸Ô?ˆà+-€Mà€NØ ò CˆÜ˜˜7 DÓ)ˆØ ˆ=Ü!¤# a£&Ó)ˆEä ˆe‹9˜ Ñ %Ø#¤B u£IÑ.‰Gà16×1BÑ1BÀ7Ó1KÐ KˆGm¤B u£IÑ.ä˜q°Ô5ˆØ×Ñœj×0Ñ0°¸ÓAÕBð Côi‰i˜Ó'€GØ GÐ Ðùò)Rs
‡C*£C*có(—|€>d„|D«}td„|D«« }tj||¬«}t|«}|Dcgc] }t    |«t
ur|n
t |«‘Œ"}}tj |t|««}||fScc}w)a
    Convert list of dicts to numpy arrays
 
    if `columns` is not passed, column names are inferred from the records
    - for OrderedDict and dicts, the column names match
      the key insertion-order from the first record to the last.
    - For other kinds of dict-likes, the keys are lexically sorted.
 
    Parameters
    ----------
    data : iterable
        collection of records (OrderedDict, dict)
    columns: iterables or None
 
    Returns
    -------
    content : np.ndarray[object, ndim=2]
    columns : Index
    c3óNK—|]}t|j««–—Œy­wrr)rr®)rtrOs  rRrvz*_list_of_dict_to_arrays.<locals>.<genexpr>“sèø€Ò, !ŒtA—F‘F“H~Ñ,ùs‚#%c3ó<K—|]}t|t«–—Œy­wrr)rGrÎ)rtÚds  rRrvz*_list_of_dict_to_arrays.<locals>.<genexpr>”sèø€Ò9¨q”z !¤T×*Ñ9ùó‚rÔ)rŽr    Úfast_unique_multiple_list_genr%r‰rÎÚdicts_to_arrayr)rZrMÚgenrÕÚpre_colsrrús       rRr÷r÷{s€ð.€Ù, tÔ,ˆÜÑ9°DÔ9Ó9Ð9ˆÜ×4Ñ4°S¸tÔDˆÜ˜xÓ(ˆð8<Ö <°!”a“œD‘‰A¤d¨1£gÑ -Ð <€DÐ <ä× Ñ  ¤t¨G£}Ó5€GØ GÐ Ðùò =sÁ%Bcóø—t|j«}    t||«}t |«r-|dj tjk(r t||¬«}||fS#t$r}t    |«|‚d}~wwxYw)zG
    Ensure we have valid columns, cast object dtypes if possible.
    Nrrj)
rrŒÚ_validate_or_indexify_columnsÚAssertionErrorrKrFr8rHÚobject_Úconvert_object_array)rúrMr8ÚcontentsÚerrs     rRrùrù su€ôG—I‘I‹€Hð'Ü/°¸'ÓBˆô
 ˆ8„}˜ !™×*Ñ*¬b¯j©jÒ8Ü'¨¸Ô>ˆà WÐ Ðøô ò'䘋o 3Ð&ûð'ús— AÁ    A9Á( A4Á4A9cóè—|€tt|««}|St|t«xrt    d„|D««}|s:t|«t|«k7r#t t|«›dt|«›d«‚|rrt|Dchc] }t|«’Œc}«dkDr t d«‚|r@t|d«t|«k7r&t t|d«›dt|«›d«‚|Scc}w)a´
    If columns is None, make numbers as column names; Otherwise, validate that
    columns have valid length.
 
    Parameters
    ----------
    content : list of np.ndarrays
    columns : Index or None
 
    Returns
    -------
    Index
        If columns is None, assign positional column index value as columns.
 
    Raises
    ------
    1. AssertionError when content is not composed of list of lists, and if
        length of columns is not equal to length of content.
    2. ValueError when content is list of lists, but length of each sub-list
        is not equal
    3. ValueError when content is list of lists, but length of sub-list is
        not equal to length of content
    c3ó<K—|]}t|t«–—Œy­wrr)rGr)rtÚcols  rRrvz0_validate_or_indexify_columns.<locals>.<genexpr>Ôsèø€ò7
Ø&)ŒJsœD× !ñ7
ùr    z! columns passed, passed data had z columnsr?z<Length of columns passed for MultiIndex columns is differentr)r$rFrGrÚallrrK)rúrMÚ
is_mi_listrs    rRrr¶s€ð4€Ü¤ G£ Ó-ˆð4 €Nô/  ¬Ó.ò
´3ñ7
Ø-4ô7
ó4
ˆ
ñœc '›l¬c°'«lÒ:ä Üw“<.РAܐw“<. ð*óð ñ ä¨Ö0 ”C˜•HÒ0Ó1°AÒ5Ü ØRóðñ
œ3˜w q™z›?¬c°'«lÒ:ܠܘ7 1™:“Ð'Ð'Hܘ7“|n Hð.óðð €Nùò1sÂC/cóN‡‡‡—ˆˆˆfd„}|Dcgc]
}||«‘Œ }}|Scc}w)aA
    Internal function to convert object array.
 
    Parameters
    ----------
    content: List[np.ndarray]
    dtype: np.dtype or ExtensionDtype
    dtype_backend: Controls if nullable/pyarrow dtypes are returned.
    coerce_float: Cast floats that are integers to int.
 
    Returns
    -------
    List[ArrayLike]
    c󬕗‰tjd«k7r9tj|‰‰dk7¬«}‰€Ì|jtjd«k(rd‰dk7}t    ||«}|r•|jtjd«k(rst «}|j «}|j||¬«}|S‰dk7r?t|tj«r%|jjdvr t|d¬«}|St‰t«r&‰j «}|j|‰d¬«}|S‰jd    vr t|‰«}|S)
NrÉÚnumpy)Ú    try_floatÚconvert_to_nullable_dtyperjÚiufbFrnrËrp)rHr8r    Úmaybe_convert_objectsrrr”r•rGrIr‘Úpd_arrayrr )rPrÚ    new_dtypeÚarr_clsÚclsÚ coerce_floatr8Ú dtype_backends     €€€rRrÅz%convert_object_array.<locals>.converts@ø€Ø ”B—H‘H˜S“MÓ !Ü×+Ñ+ØØ&Ø*7¸7Ñ*BôˆCðˆ}Ø—9‘9¤§¡¨£ Ò-à0=ÀÑ0HÐ-Ü5°cÐ;TÓUCÙ0°S·Y±YÄ"Ç(Á(È3Ã-Ò5OÜ$/£M˜    Ø"+×"@Ñ"@Ó"B˜Ø%×4Ñ4°SÀ    Ð4ÓJ˜ð&ˆ
ð%# gÒ-´*¸SÄ"Ç*Á*Ô2MØ—y‘y—~‘~¨Ñ/Ü& s°Ô7˜ð ˆ
ô˜E¤>Ô2ð×0Ñ0Ó2Ø×(Ñ(¨°EÀÐ(ÓFðˆ
𗑘tÑ#ô -¨S°%Ó8àˆ
r_rs)rúr8r&r%rÅrPrLs ```   rRrrîs,ú€ö,)ðV'.Ö .˜s‰gclÐ .€FÐ .à €Mùò/s") rMr"r8úDtypeObj | Noner9Úboolr:z
str | Noner;r(Úreturnr6)
rZznp.rec.recarray | np.ndarrayr8r'rYr(r:rŠr)r6)T)r:rŠrYr(r)r6)r8r'rYr(r:rŠr)r6)r–ú
np.ndarrayrNr"rMr"r)ÚNone)
rZrÎr8r'r:rŠrYr(r)r6)
rZr3rMú Index | NonerNr,r8r'r)z$tuple[list[ArrayLike], Index, Index])r)r()rYr(r)r*)r–r*r)r*)rNr"r8r'r)z!tuple[list[ArrayLike], list[Any]])r)r")
rLúlist[ArrayLike]r\r"rMr,râÚintr)útuple[list[ArrayLike], Index])
rër.rìr.rNr,rMr,r)ztuple[Index, Index]rr)rMr,r8r'r)r/)rZzlist[tuple | list]r)r*)rZrrMr,r)útuple[np.ndarray, Index])rZz
list[dict]rMr,r)r0)rúr*rMr,r8r'r)r/)rúzlist[np.ndarray]rMr,r)r")rF)
rúzlist[npt.NDArray[np.object_]]r8r'r&rŠr%r(r)r-)eÚ__doc__Ú
__future__rÚ collectionsrÚtypingrrrrHrÚpandas._configrÚ pandas._libsr    Úpandas.core.dtypes.astyper
Úpandas.core.dtypes.castr r r rrÚpandas.core.dtypes.commonrrrrrÚpandas.core.dtypes.dtypesrÚpandas.core.dtypes.genericrrÚ pandas.corerrr¯Úpandas.core.arraysrÚpandas.core.arrays.string_rÚpandas.core.constructionrr!rrrr Úpandas.core.indexes.apir!r"r#r$r%r&r'Ú#pandas.core.internals.array_managerr(r)Úpandas.core.internals.blocksr*r+r,r-Úpandas.core.internals.managersr.r/r0r1Úcollections.abcr2r3Úpandas._typingr4r5r6r7rSr^rhr¡r‡rºr¾rÀr…rƒrErDrXr½r†rñrWrõrør÷rùrrrsr_rRú<module>rFs‡ðñõ#å÷ó
Ýå-åå4÷õ÷õõ5÷÷
õ.Ý2÷õ÷÷ñ÷÷ó÷ óñ÷÷
óð"Ø!ØØñ>Xà ð>Xð
ð >Xð ð >Xð
ð>Xðð>Xð ó>XðB Ø
&ð ð ð     ð
ð  ð
ð  ð ó ôF"ðReØ#2ðeØ:>ðeØEHðeà óeðPYØ ðYØ$ðYØ/4ðYà    óYð."ØØñPYØ
ðPYð
ð PYð
ð PYð ðPYð óPYðf"Ø
ð"à ð"ð ð"ð ð    "ð
*ó "ó4    ô#óLð'Øð'Ø.ð'à&ó'óT8ðvØ ðØ*/ðØ:FðØPSðà"óó6ð$Ø
ðØðØ'ðØ2>ðàóò$#ðD;?ð5Øð5Ø(7ð5à"ó5ópðØ
ðà ððóð>"Ø
ð"à ð"ðó"ðJØ ðà ðð ðð#ó    ð,5Ø ð5Ø(4ð5à
ó5ðv!Øð    CØ *ðCà ðCððCðð    Cð
ô Cr_