hyb
2025-12-23 10f3a1daddfbc7fa3dd2069197d83e8b6ef19176
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
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
Ë
nñúh—«ãó—dZddlmZddlZddlmZmZmZddlZ    ddl
m Z m Z ddl mZmZddlmZmZmZmZddlmZmZmZmZmZmZdd    lmZdd
lmZm Z dd l!m"Z"m#Z#m$Z$ddl%m&cm'Z(dd l)m*Z*dd l+m,Z,ddl-m.Z.m/Z/m0Z0m1Z1ddl2m3Z3m4Z4m5Z5ddl6m7Z7m8Z8ddl9m:Z:m;Z;ddl<m=Z=ddl>m?Z?m@Z@mAZAmBZBddlCmDZDmEZEmFZFmGZGmHZHmIZIddlJmKZKerddlLmMZMddlNmOZOmPZPmQZQmRZRmSZSmTZTGd„de?«ZUGd„deU«ZVGd„deUe@«ZWGd„d«ZXd!d „ZYy)"zA
Experimental manager based on storing a collection of 1D arrays
é)Ú annotationsN)Ú TYPE_CHECKINGÚCallableÚLiteral)ÚNaTÚlib)Ú astype_arrayÚastype_array_safe)Úensure_dtype_can_hold_naÚfind_common_typeÚinfer_dtype_from_scalarÚnp_find_common_type)Úensure_platform_intÚis_datetime64_ns_dtypeÚ
is_integerÚis_numeric_dtypeÚis_object_dtypeÚis_timedelta64_ns_dtype)ÚExtensionDtype)Ú ABCDataFrameÚ    ABCSeries)Ú array_equalsÚisnaÚna_value_for_dtype)Úquantile_compat)Útake_1d)Ú DatetimeArrayÚExtensionArrayÚNumpyExtensionArrayÚTimedeltaArray)Úensure_wrapped_if_datetimelikeÚ extract_arrayÚsanitize_array)Úmaybe_convert_indicesÚvalidate_indices)ÚIndexÚ ensure_index)Úget_values_for_csv)Ú DataManagerÚSingleDataManagerÚensure_np_dtypeÚinterleaved_dtype)ÚBlockPlacementÚensure_block_shapeÚexternal_valuesÚextract_pandas_arrayÚmaybe_coerce_valuesÚ    new_block)Ú make_na_array)ÚHashable)Ú    ArrayLikeÚAxisIntÚDtypeObjÚQuantileInterpolationÚSelfÚnptcóú—eZdZUdZddgZded<ded<    d(                            d)d„Zd*d+d„Zed,d    „«Z    ed-d
„«Z
ed.d „«Z e d/d „«Z d0d „Zd1d„Zd2d„Zd„Zd3d„Zd4d„Z    d*            d5d„Zd*d+d„Zd(d6d„Zd7d„Zd8d9d„Zd:d„Zdddœ            d;d„Zed<d„«Zed<d„«Zed<d„«Zd=d„Zd>d?d „Zd>d?d!„Z d(d@d"„Z!                    dA                                            dBd#„Z"                dC                                            dDd$„Z#        dE                            dFd%„Z$dGdHd&„Z%d<d'„Z&y)IÚBaseArrayManageraO
    Core internal data structure to implement DataFrame and Series.
 
    Alternative to the BlockManager, storing a list of 1D arrays instead of
    Blocks.
 
    This is *not* a public API class
 
    Parameters
    ----------
    arrays : Sequence of arrays
    axes : Sequence of Index
    verify_integrity : bool, default True
 
    Ú_axesÚarraysú!list[np.ndarray | ExtensionArray]ú list[Index]có—t‚©N©ÚNotImplementedError)Úselfr>ÚaxesÚverify_integritys    úVH:\Change_password\venv_build\Lib\site-packages\pandas/core/internals/array_manager.pyÚ__init__zBaseArrayManager.__init__~s
€ô "Ð!óNcób—|€|jddtg«g}g}t|«||«S)zFReturn an empty ArrayManager with the items axis of len 0 (no columns)Né)rFr&Útype)rErFr>s   rHÚ
make_emptyzBaseArrayManager.make_empty†s7€à ˆ<Ø—I‘I˜a˜bM¤5¨£9Ð-ˆDà46ˆØŒtD‹z˜& $Ó'Ð'rJcó —|jdS)Néÿÿÿÿ©r=©rEs rHÚitemszBaseArrayManager.itemsŽs€àz‰z˜"‰~ÐrJcó>—|jd|jdgS)z5Axes is BlockManager-compatible order (columns, rows)rLrrQrRs rHrFzBaseArrayManager.axes’s€ð —
‘
˜1‘ ˜tŸz™z¨!™}Ð-Ð-rJcó:—td„|jD««S)Nc3ó2K—|]}t|«–—Œy­wrB)Úlen)Ú.0Úaxs  rHú    <genexpr>z0BaseArrayManager.shape_proper.<locals>.<genexpr>sèø€Ò2 ”S˜—WÑ2ùs‚)Útupler=rRs rHÚ shape_properzBaseArrayManager.shape_properšs€ôÑ2 t§z¡zÔ2Ó2Ð2rJcó—|dk(rd}|Sd}|S©NrrL©©Úaxiss rHÚ_normalize_axisz BaseArrayManager._normalize_axisŸs €ð˜A’IˆqˆØˆ ð$%ˆØˆ rJcóh—|j||«|j|«}||j|<yrB)Ú_validate_set_axisrbr=)rEraÚ
new_labelss   rHÚset_axiszBaseArrayManager.set_axis¥s0€à ×Ñ  jÔ1Ø×#Ñ# DÓ)ˆØ%ˆ
‰
4ÒrJcó~—tj|jDcgc]}|j‘Œc}d¬«Scc}w)NÚobject©Údtype)ÚnpÚarrayr>rj©rEÚarrs  rHÚ
get_dtypeszBaseArrayManager.get_dtypes«s)€Üx‰x¨d¯k©kÖ: s˜Ÿ›Ò:À(ÔKÐKùÒ:sž:có—y)z<
        Only implemented on the BlockManager level
        Nr_)rEÚmgrs  rHÚadd_referenceszBaseArrayManager.add_references®s€ð    rJcó2—|j|jfSrB©r>r=rRs rHÚ __getstate__zBaseArrayManager.__getstate__´s€Ø{‰{˜DŸJ™JÐ&Ð&rJcó,—|d|_|d|_yr^rt)rEÚstates  rHÚ __setstate__zBaseArrayManager.__setstate__·s€Ø˜A‘hˆŒ ؘ1‘Xˆ
rJcó —t|«j}|d|jd›z }|jdk(r|d|jd›z }|dt    |j
«›dz }|j
D]}|d|j ›z }Œ|S)Nz
Index: réz
 
Columns: rLú
z arrays:)rMÚ__name__r=ÚndimrWr>rj)rEÚoutputrns   rHÚ__repr__zBaseArrayManager.__repr__»s˜€Üd“×$Ñ$ˆØI˜dŸj™j¨™m˜_Ð-Ñ-ˆØ 9‰9˜Š>Ø ˜  D§J¡J¨q¡M ?Ð3Ñ 3ˆFؐB”s˜4Ÿ;™;Ó'Ð(¨Ð1Ñ1ˆØ—;‘;ò    'ˆCØ ˜˜3Ÿ9™9˜+Ð&Ñ &‰Fð    'àˆ rJc óV—d|vsJ‚|xsg}g}|Dcic]}|||“Œ
}}|dk(r|jd«}t|j«D]¸\}}|ry|j«D]f\}}    t    |    t
t f«rC|    jdk(r|    j|||<Œ>|    jdd…|fj||<Œ_|    |||<Œht|«r
||fi|¤Ž}
nt||«di|¤Ž}
|j|
«Œº|j} t|«|| «Scc}w)ab
        Iterate over the arrays, collect and create a new ArrayManager.
 
        Parameters
        ----------
        f : str or callable
            Name of the Array method to apply.
        align_keys: List[str] or None, default None
        **kwargs
            Keywords to pass to `f`
 
        Returns
        -------
        ArrayManager
        ÚfilterÚapplyÚfuncrLNr_)ÚpopÚ    enumerater>rSÚ
isinstancerrr}ÚilocÚ_valuesÚcallableÚgetattrÚappendr=rM) rEÚfÚ
align_keysÚkwargsÚ result_arraysÚkÚ aligned_argsÚirnÚobjÚappliedÚnew_axess             rHr‚zBaseArrayManager.applyÅsC€ð*˜vÑ%Ð%Ð%àÒ% 2ˆ
Ø)+ˆ ð/9Ö9¨˜˜6 !™9™ Ð9ˆ Ð9à Š<Ø—
‘
˜6Ó"ˆAä § ¡ Ó,ò    *‰FˆAˆsÙØ*×0Ñ0Ó2ò
+‘FAsÜ! #¬    ´<Ð'@ÔAðŸ8™8 qš=Ø(+¯©°© ˜F 1šIà(+¯©²°A°©×(>Ñ(>˜F 1šIð%(¨¡F˜˜qš    ð
+ô˜Œ{Ù˜CÑ* 6Ñ*‘à)œ' # q›/Ñ3¨FÑ3à ×  Ñ   Õ )ð'    *ð*—:‘:ˆØŒtD‹z˜-¨Ó2Ð2ùò7:s“ D&c     ó>—d}|dk(rd}|r"d|vr|jdk(r|ddk(rdnd|d<|xsg}|Dcic]}|||“Œ
}}g}t|j«D]\}}    |rÎ|j«D]»\}}
t    |
t
t f«r‡|
jdk(rV|jdk(r*|
jt||dz«j||<Œd|
jddj||<Œ|
jdd…|gfj||<Œ£|
jdk(sŒ³|
|g||<Œ½t    |    jtj«r/t    |    tj«stj|    «}    t|    «}    |jdk(r1t|    d«}    t!tddd««} t#|    | d¬«} n-t!tdt%|«d««} t#|    | d¬«} t'| |«d    i|¤Ž} t    | t(«r| d} | j*}    |jdk(r(|    jdk(rt%|    «dk(sJ‚|    ddd…f}    |j-|    «Œt/|«||j0«Scc}w)
NTÚ interpolateFrarzrrL)Ú    placementr}r_)r}r…r>rSr†rrr‡ÚslicerˆrjrkÚndarrayÚasarrayr1r.r-r2rWrŠÚlistÚvaluesr‹rMr=)rErŒrrŽÚ    swap_axisrr‘rr’rnr“ÚbpÚblockr”s              rHÚapply_with_blockz!BaseArrayManager.apply_with_blockýsh€àˆ    Ø  Ò ØˆIÙ ˜ 6Ñ)¨d¯i©i¸1ªnØ"(¨¡.°AÒ"5™Q¸1ˆF6‰NàÒ% 2ˆ
Ø.8Ö9¨˜˜6 !™9™ Ð9ˆ Ð9àˆ ä § ¡ Ó,ó*    &‰FˆAˆsÙØ*×0Ñ0Ó2ò1‘FAsÜ! #¬    ´<Ð'@ÔAðŸ8™8 qš=Ø#Ÿy™y¨Aš~Ø,/¯H©H´U¸1¸aÀ!¹e³_Ñ,E×,MÑ,M  q¢    à,/¯H©H±Q¨K×,?Ñ,?  q¢    à(+¯©²°Q°C°Ñ(8×(@Ñ(@˜F 1šIðŸ8™8 q›=Ø(+¨Q¨C©˜F 1šIð1ô ˜#Ÿ)™)¤R§X¡XÔ.´zÀ#ÄrÇzÁzÔ7Rô—j‘j “oä% cÓ*ˆC؏y‰y˜AŠ~Ü(¨¨aÓ0Ü#¤E¨!¨Q°£NÓ3Ü! #°¸!Ô<‘ä#¤E¨!¬S°«Y¸Ó$:Ó;Ü! #°¸!Ô<à'”g˜e QÓ'Ñ1¨&Ñ1ˆGܘ'¤4Ô(Ø! !™*Ø—.‘.ˆC؏y‰y˜AŠ~ #§(¡(¨a¢-ä˜3“x 1’}Ð$}ð˜!šQ˜$‘iØ ×  Ñ   Ö %ðU*    &ðXŒtD‹z˜-¨¯©Ó4Ð4ùòa:s¸ Jcó*—|jd||¬«S)NÚsetitem©ÚindexerÚvalue)r¡©rEr¥r¦Úwarns    rHr£zBaseArrayManager.setitem8s€Ø×$Ñ$ Y¸ÀuÐ$ÓMÐMrJcóf—|jdk(sJ‚|jtj|¬«S)Nrz©Ún)r}r‚ÚalgosÚdiff©rEr«s  rHr­zBaseArrayManager.diff;s)€Øy‰y˜AŠ~Ј~؏z‰zœ%Ÿ*™*¨ˆzÓ*Ð*rJcó<—|€d}|jt|||¬«S)NT)rjÚcopyÚerrors)r‚r
)rErjr°r±s    rHÚastypezBaseArrayManager.astype?s$€Ø ˆ<؈Dàz‰zÔ+°5¸tÈFˆzÓSÐSrJcó8‡—‰€dŠˆfd„}|j|«S)NTcóޕ—t|j«rDtj|«}t    j
|d¬«}||ur‰r|j «S|S‰r|j «S|S)NT)Úconvert_non_numeric)rrjrkr›rÚmaybe_convert_objectsr°)rnÚresultr°s  €rHÚ_convertz*BaseArrayManager.convert.<locals>._convertIscø€Ü˜sŸy™yÔ)ô—j‘j “oÜ×2Ñ2ØØ(,ôð˜S‘=¡TØŸ8™8›:Ð%ؐ á%)s—x‘x“zÐ2¨sÐ2rJ)r‚)rEr°r¸s ` rHÚconvertzBaseArrayManager.convertEs#ø€Ø ˆ<؈Dô     3ðz‰z˜(Ó#Ð#rJÚnan)Úna_repÚquotingcó8—|jt|||||¬«S)N)r»r¼Ú float_formatÚ date_formatÚdecimal)r‚r()rEr¾r¿rÀr»r¼s      rHr(z#BaseArrayManager.get_values_for_csvZs,€ðz‰zÜ ØØØ%Ø#Øð ó
ð    
rJcó—y)z>Whether any of the blocks in this manager are extension blocksFr_rRs rHÚany_extension_typesz$BaseArrayManager.any_extension_typesfs€ðrJcó—y)z8return a boolean if we are a single block and are a viewFr_rRs rHÚis_viewzBaseArrayManager.is_viewks€ðrJcó2—t|j«dk(S©NrL)rWr>rRs rHÚis_single_blockz BaseArrayManager.is_single_blockqs€ä4—;‘;Ó 1Ñ$Ð$rJcód—t|j«Dcgc]\}}||«sŒ|‘Œ}}}|Dcgc]}|j|‘Œ}}tj|d¬«}|jdj |«}|jd|g}t |«||d¬«Scc}}wcc}w)NÚintprirLrF©rG)r…r>rkrlr=ÚtakerM)    rEÚ    predicater’rnÚindicesr>ÚtakerÚnew_colsr•s             rHÚ_get_data_subsetz!BaseArrayManager._get_data_subsetus€Ü#,¨T¯[©[Ó#9×L™˜˜C¹YÀs½^’1ÐLˆÑLØ*1Ö2 Q$—+‘+˜a“.Ð2ˆÐ2ô—‘˜¨Ô/ˆØ—:‘:˜a‘=×%Ñ% eÓ,ˆØ—J‘J˜q‘M 8Ð,ˆØŒtD‹z˜& (¸UÔCÐCùóMùÚ2s™B'ªB'µB-có&—|jd„«S)zÑ
        Select columns that are bool-dtype and object-dtype columns that are all-bool.
 
        Parameters
        ----------
        copy : bool, default False
            Whether to copy the blocks
        cóN—|jtjt«k(SrB)rjrkÚbool)Úxs rHú<lambda>z0BaseArrayManager.get_bool_data.<locals>.<lambda>‰s€¨q¯w©w¼"¿(¹(Ä4».Ñ/H€rJ©rЩrEr°s  rHÚ get_bool_datazBaseArrayManager.get_bool_data€s€ð×$Ñ$Ñ%HÓIÐIrJcó&—|jd„«S)z¬
        Select columns that have a numeric dtype.
 
        Parameters
        ----------
        copy : bool, default False
            Whether to copy the blocks
        có^—t|j«xst|jdd«S)NÚ _is_numericF)rrjrŠ)rns rHrÕz3BaseArrayManager.get_numeric_data.<locals>.<lambda>•s(€Ô(¨¯©Ó3ò8ܐs—y‘y -°Ó7ðrJrÖr×s  rHÚget_numeric_dataz!BaseArrayManager.get_numeric_data‹s€ð×$Ñ$ñ 8ó
ð    
rJcó>‡—‰€dЉr%ˆfd„}|jDcgc]
}||«‘Œ }}nt|j«}‰r(|jDcgc]}|j«‘Œ}}nt|j«}t    |«||d¬«Scc}wcc}w)a>
        Make deep or shallow copy of ArrayManager
 
        Parameters
        ----------
        deep : bool or string, default True
            If False, return shallow copy (do not copy data)
            If 'all', copy data and a deep copy of the index
 
        Returns
        -------
        BlockManager
        TcóR•—‰dk(r|jd¬«S|j«S)NÚallT©Údeep)r°Úview)rYrás €rHÚ    copy_funcz(BaseArrayManager.copy.<locals>.copy_func°s%ø€Ø-1°Uª]r—w‘w DwÓ)ÐIÀÇÁà   ÐIrJFrÊ)r=rœr>r°rM)rErárãrYr•rnÚ
new_arrayss `     rHr°zBaseArrayManager.copy™s”ø€ð ˆ<ðˆDñ ô Jð15·
±
Ö;¨"™     " Ð;ˆHÑ;ä˜DŸJ™JÓ'ˆHá Ø04· ± Ö<¨˜#Ÿ(™(*Ð<ˆJÑ<ä˜dŸk™kÓ*ˆJØŒtD‹z˜* hÀÔGÐGùò<ùò
=s ›BÁBc        óR—|j|«}|j|||||||«SrB)rbÚ_reindex_indexer)    rEÚnew_axisr¥raÚ
fill_valueÚ
allow_dupsr°Ú
only_sliceÚ use_na_proxys             rHÚreindex_indexerz BaseArrayManager.reindex_indexer½s<€ð×#Ñ# DÓ)ˆØ×$Ñ$Ø Ø Ø Ø Ø Ø Ø ó
ð    
rJc
ó—|€d}|€R||j|ur|s|S|j|¬«}t|j«|_||j|<|S|s|j|j|«||jk\r t d«‚|dk(rUg}    |D]M}
|
dk(r|j ||¬«} n!|j|
} |r| j«} |    j| «ŒOnit|t|jd««t|«}|dk(} | j«} |jD cgc]} t| || || ¬«‘Œ}    } t|j«}|||<t|«|    |d    ¬
«Scc} w) a!
        Parameters
        ----------
        new_axis : Index
        indexer : ndarray[intp] or None
        axis : int
        fill_value : object, default None
        allow_dups : bool, default False
        copy : bool, default True
 
 
        pandas-indexer with -1's only.
        Tràú#Requested axis not found in managerrLrP)rèrër©Ú
allow_fillrèÚmaskFrÊ)r=r°rœÚ_validate_can_reindexr}Ú
IndexErrorÚ_make_na_arrayr>r‹r%rWrÚanyrrM)rErçr¥rarèrér°rër·rär’rnrñÚ needs_maskingr•s               rHræz!BaseArrayManager._reindex_indexerÕsž€ð. ˆ<ðˆDà ˆ?ؘ4Ÿ:™: dÑ+Ñ+±Dؐ à—Y‘Y DYÓ)ˆFÜ §
¡
Ó+ˆFŒLØ!)ˆFL‰L˜Ñ ؈MñØ J‰JtÑ × 2Ñ 2°7Ô ;à 4—9‘9Ò ÜÐBÓCÐ Cà 1Š9؈JØò     'Ø˜’7Ø×-Ñ-Ø#-¸Lð.ó‘CðŸ+™+ a™.CÙØ!Ÿh™h›j˜Ø×!Ñ! #Õ&ñ     'ô ˜W¤c¨$¯*©*°Q©-Ó&8Ô 9Ü)¨'Ó2ˆGؘb‘=ˆDØ ŸH™H›JˆMð Ÿ;™;ö
ðôØØØ,Ø)Øö ð
ˆJð
ô˜Ÿ
™
Ó#ˆØ!ˆ‰àŒtD‹z˜* hÀÔGÐGùò
sÄ=Fcó¨—t|tj«sJt|««‚|jtj
k(sJ|j«‚|j |«}|jdk(s td«‚|j|}t|||¬«}|j|j|«}|j|||d¬«S)z,
        Take items along any axis.
        rLzindexer should be 1-dimensional)ÚverifyT)rçr¥raré)r†rkršrMrjrÉrbr}Ú
ValueErrorr\r$r=rËræ)rEr¥rarør«res      rHrËzBaseArrayManager.take$sÀ€ô˜'¤2§:¡:Ô.Ð=´°W³ Ó=Ð.؏}‰}¤§¡Ò'Ð6¨¯©Ó6Ð'à×#Ñ# DÓ)ˆà|‰|˜qÒ ÜÐ>Ó?Ð ?à × Ñ ˜dÑ #ˆÜ'¨°¸6ÔBˆà—Z‘Z Ñ%×*Ñ*¨7Ó3ˆ
Ø×$Ñ$ب°tÈð%ó
ð    
rJcó¶—|r|J‚t|jd«S|€tj}t    |«\}}t ||jdd|«}|Sr^)ÚNullArrayProxyr\rkrºr r3)rErèrërjÚ array_valuess     rHrôzBaseArrayManager._make_na_array=sf€Ù ØÐ%Ð %Ð%Ü! $×"3Ñ"3°AÑ"6Ó7Ð 7à Ð ÜŸ™ˆJä3°JÓ?шˆzÜ$ U¨D×,=Ñ,=¸b¸qÐ,AÀ:ÓNˆ ØÐrJcóp—t|j|j«D]\}}t||«rŒyy)z“
        Used in .equals defined in base class. Only check the column values
        assuming shape and indexes have already been checked.
        FT)Úzipr>r)rEÚotherÚleftÚrights    rHÚ _equal_valueszBaseArrayManager._equal_valuesIs8€ô
˜tŸ{™{¨E¯L©LÓ9ò    ‰KˆD%Ü  eÕ,Ùð    ðrJ©T©r>r?rFr@rGrÓÚreturnÚNonerB©rr9©rr&©rr@)rztuple[int, ...])rar6rÚint)rar6rer&rr)rznpt.NDArray[np.object_])rqr<rr©rr)rÚstr)rzlist[str] | Nonerr9)r¨rÓrr9)r«r
rr9)FÚraise)r°ú bool | Noner±r rr9)r°rrr9)r»r rr9©rrÓ)rÌrrr9©F)r°rÓrr9)rázbool | Literal['all'] | Nonerr9)NFTFF) rar6rérÓr°rrêrÓrërÓrr9)NFTF) r¥znpt.NDArray[np.intp] | Nonerar6rérÓr°rrërÓrr9)rLT)r¥znpt.NDArray[np.intp]rar6rørÓrr9)NF)rërÓ)'r|Ú
__module__Ú __qualname__Ú__doc__Ú    __slots__Ú__annotations__rIrNÚpropertyrSrFr\Ú staticmethodrbrfrorrrurxrr‚r¡r£r­r²r¹r(rÂrÄrÇrÐrØrÜr°rìrærËrôrr_rJrHr<r<esc…ñð"    Øð€Ið
.Ó-Ø Óð "&ð    "à1ð"ðð"ðð    "ð
 
ó "ô(ðòóððò.óð.ð ò3óð3ðòóðó
&ó Lóò 'óóð(,ð63ð%ð63ð
 
ó 63ôp95ôvNó+ôTó $ð,DIÐRVñ
 
Ø=@ð
 
à     ó
 
ðòóððòóðð
ò%óð%ó    Dô    Jô 
ô"HðRؠؠà à"ð
ðð    
ð ð 
ðð
ðð
ðð
ð
ó
ð:ؠؠØ"ðMHð-ðMHðð    MHð ð MHððMHððMHð
óMHðdØð    
à%ð
ðð
ðð    
ð
 
ó 
ô2
ôrJr<cóL—eZdZedd„«Z    d                            dd„Zdd„Zdd„Zddd„Zd d„Z    d!d„Z
ed"d„«Z         d#                            d$d „Z     d%                            d&d „Z d'd(d „Zd)d„Zd*d„Zd*d„Zd+d„Zd    ddœ                            d,d„Zd)d„Zd
d    ej,f                    d-d„Zed.d„«Zed.d„«Zy
)/Ú ArrayManagercó—y)Nrzr_rRs rHr}zArrayManager.ndimXó€àrJcó—||_||_|rj|Dcgc] }t|«‘Œc}|_|Dcgc]}t|dd«d‘Œ}}|Dcgc] }t    |«‘Œc}|_|j «yycc}wcc}wcc}w©NrLr)r=r>r'r0r1Ú_verify_integrity)rEr>rFrGrYrÔrns       rHrIzArrayManager.__init__\s€€ðˆŒ
؈Œ á Ø59Ö:¨rœ, rÕ*Ò:ˆDŒJØCIÖJ¸aÔ*¨1¨d°AÓ6°qÓ9ÐJˆFÐJØ?EÖF¸Ô.¨sÕ3ÒFˆDŒKØ × "Ñ "Õ $ð     ùÚ:ùÚJùÚFs•A<³BÁBcóЗ|j\}}t|j«|k(s%tdt|j«›d|›d«‚|jD]‹}t|«|k(stdt|«›d|›d«‚t    |t
j tf«stdt|«›d«‚|jd    k(rŒttd
|j›d «‚y) NzANumber of passed arrays must equal the size of the column Index: z  arrays vs z     columns.z=Passed arrays should have the same length as the rows Index: z vs z rowszDPassed arrays should be np.ndarray or ExtensionArray instances, got z insteadrLz6Passed arrays should be 1-dimensional, got array with ú dimensions instead.)
r\rWr>rùr†rkršrrMr})rEÚn_rowsÚ    n_columnsrns    rHrzArrayManager._verify_integritymsü€Ø ×-Ñ-ш    Ü4—;‘;Ó 9Ò,ÜØSܐt—{‘{Ó#Ð$ K°    ¨{¸)ðEóð ð—;‘;ò    ˆCܐs“8˜vÒ%Ü ØSܘ3“xj  V H¨Eð3óðô˜c¤B§J¡J´Ð#?Ô@Ü ðÜ ›9˜+ Xð/óðð—8‘8˜q“=Ü ØLØ—x‘xjР4ð6óðñ    rJcó$—t|jDcgc]}|j‘Œc}«}|jDcgc]}||‘Œ    }}t|t«r"|j «j ||¬«}nqt|«r"tj ||¬«j}nDt|«r"tj ||¬«j}ntj||¬«}t|g|jdg«Scc}wcc}w)zÅ
        Return the array corresponding to `frame.iloc[loc]`.
 
        Parameters
        ----------
        loc : int
 
        Returns
        -------
        np.ndarray or ExtensionArray
        rirL)r,r>rjr†rÚconstruct_array_typeÚ_from_sequencerrÚ_ndarrayrr rkrlÚSingleArrayManagerr=)rEÚlocrnrjrr·s      rHÚfast_xszArrayManager.fast_xsˆsրô"¸¿ ¹ Ö"D° 3§9£9Ò"DÓEˆà&*§k¡kÖ2˜s#c“(Ð2ˆÐ2Ü eœ^Ô ,Ø×/Ñ/Ó1×@Ñ@ÀÈuÐ@ÓU‰Fä # EÔ *Ü"×1Ñ1°&ÀÔF×OÑO‰FÜ $ UÔ +Ü#×2Ñ2°6ÀÔG×PÑP‰Fä—X‘X˜f¨EÔ2ˆFÜ! 6 (¨T¯Z©Z¸©]¨OÓ<Ð<ùò#Eùâ2s
”D¼ D có—|j|«}|dk(r|jDcgc]}||‘Œ    }}n|dk(r|j|}t|j«}||j    |«||<t |«|d¬«Scc}w)NrrLFrÊ)rbr>rœr=Ú_getitem_slicerM)rEÚslobjrarnr>r•s      rHÚ    get_slicezArrayManager.get_slice¢s‰€Ø×#Ñ# DÓ)ˆà 1Š9Ø,0¯K©KÖ8 Sc˜%“jÐ8ˆFÑ8Ø QŠYØ—[‘[ Ñ'ˆF䘟
™
Ó#ˆØ! $™×6Ñ6°uÓ=ˆ‰àŒtD‹z˜& (¸UÔCÐCùò9s¥ BcóV—|j|}t|g|jdg«S)z:
        Return the data as a SingleArrayManager.
        r)r>r'r=)rEr’rs   rHÚigetzArrayManager.iget¯s*€ð—‘˜Q‘ˆÜ! 6 (¨T¯Z©Z¸©]¨OÓ<Ð<rJcó —|j|S)zY
        Return the data for column i as the values (ndarray or ExtensionArray).
        ©r>)rEr’s  rHÚ iget_valueszArrayManager.iget_values¶s€ð{‰{˜1‰~ÐrJcóf—|jDcgc]}tj|«‘Œc}Scc}w)zB
        Used in the JSON C code to access column arrays.
        )r>rkr›rms  rHÚ column_arrayszArrayManager.column_arrays¼s$€ð ,0¯;©;Ö7 C”—
‘
˜3•Ò7Ð7ùÒ7s.FNcóÞ—tj|«rºt|tj«r,|j
dk(r|j ddk(sJ‚|dd…df}t|«}t|tjtf«sJ‚|j
dk(sJ‚t|«t|jd«k(sJ‚||j|<yt|t«rct|j |jnd|j |jn|j d|j" |j"nd«}nEt|tj«sJ‚|j$dk(sJ‚tj&|«d}|j
dk(sJ‚|j dt|jd«k(sJ‚t)|«D]\}}|dd…|f}||j|<Œy)aÒ
        Set new column(s).
 
        This changes the ArrayManager in-place, but replaces (an) existing
        column(s), not changing column values in-place).
 
        Parameters
        ----------
        loc : integer, slice or boolean mask
            Positional location (already bounds checked)
        value : np.ndarray or ExtensionArray
        inplace : bool, default False
            Whether overwrite existing array as opposed to replacing it.
        rzrLNrrÓ)rrr†rkršr}Úshaper1rrWr=r>r™ÚrangeÚstartÚstopr\ÚsteprjÚnonzeror…)    rEr(r¦ÚinplaceÚrefsrÍÚ    value_idxÚmgr_idxÚ    value_arrs             rHÚisetzArrayManager.isetÄs²€ô, >‰>˜#Ô ô˜%¤§¡Ô,°·±¸q²Ø—{‘{ 1‘~¨Ò*Ð*Ð*Øša ˜d™ ô(¨Ó.ˆEä˜e¤b§j¡j´.Ð%AÔBÐ BÐBØ—:‘: ’?Ð "?ܐu“:¤ T§Z¡Z°¡]Ó!3Ò3Ð 3Ð3Ø$ˆDK‰K˜Ñ Ø ô˜œUÔ #Ü*/Ø ŸY™YÐ2—    ’    ¸ØŸH™HÐ0—’°d×6GÑ6GÈÑ6JØŸH™HÐ0—’°aó+‰Gô ˜c¤2§:¡:Ô.Ð .Ð.Ø—9‘9 Ò&Ð &Ð&Ü—j‘j “o aÑ(ˆGàz‰z˜QŠÐˆØ{‰{˜1‰~¤ T§Z¡Z°¡]Ó!3Ò3Ð3Ð3ä"+¨GÓ"4ò    -Ñ ˆIwðša ˜lÑ+ˆIØ#,ˆDK‰K˜Ò  ð        -ð
    rJcó —t|«s td«‚|j|}t|g|jdg«}|r|j ||«y|j |f|«}|jd|j|<y)zù
        Set values ("setitem") into a single column (not setting the full column).
 
        This is a method on the ArrayManager level, to avoid creating an
        intermediate Series at the DataFrame level (`s = df[loc]; s[idx] = value`)
        z%The column index should be an integerrN)rÚ    TypeErrorr>r'r=Úsetitem_inplacer£)rEr(Úidxr¦Ú inplace_onlyrnrqÚnew_mgrs        rHÚcolumn_setitemzArrayManager.column_setitemsy€ô˜#ŒÜÐCÓDÐ D؏k‰k˜#шܠ # ¨¯©°A©¨Ó8ˆÙ Ø × Ñ   UÕ +à—k‘k 3 &¨%Ó0ˆGà&Ÿ~™~¨aÑ0ˆDK‰K˜Ò rJcóv—|jj||«}t|d¬«}|jdk(r4|jddk(r
|ddd…f}nt d|j›«‚t |«}|jj«}|j||«||_||jd<y)z±
        Insert item at selected position.
 
        Parameters
        ----------
        loc : int
        item : hashable
        value : np.ndarray or ExtensionArray
        T)Ú extract_numpyrzrrLNz-Expected a 1D array, got an array with shape )
rSÚinsertr"r}r6rùr1r>r°r=)rEr(Úitemr¦r=rçr>s       rHrKzArrayManager.inserts­€ð—:‘:×$Ñ$ S¨$Ó/ˆä˜e°4Ô8ˆØ :‰:˜Š?؏{‰{˜1‰~ Ò"ð˜a¢˜d™ ‘ä ØCÀEÇKÁKÀ=ÐQóðô$ EÓ*ˆð —‘×!Ñ!Ó#ˆØ ‰ c˜5Ô!àˆŒ Ø ˆ
‰
1Š rJcó:—tj|jdtj¬«}d||<tj|«dDcgc]}|j
|‘Œc}|_|j d|j d|g|_|Scc}w)z]
        Delete selected locations in-place (new block and array, same BlockManager)
        rriFrL)rkÚonesr6Úbool_r;r>r=)rEr¥Úto_keepr’s    rHÚideletezArrayManager.idelete8s~€ô—'‘'˜$Ÿ*™* Q™-¬r¯x©xÔ8ˆØ ˆÑä/1¯z©z¸'Ó/BÀ1Ñ/EÖF¨!t—{‘{ 1“~ÒFˆŒ Ø—j‘j ‘m T§Z¡Z°¡]°7Ñ%;Ð<ˆŒ
؈ ùòGsÁBcó°—g}g}t|j«D]d\}}t|d¬«}||«}|jdk(r|jddk(sJ‚|d}|j |«|j |«Œft |«dk(rd}n|djd}tt|««}|j}    t|«|||    g«S)zã
        Apply grouped reduction function columnwise, returning a new ArrayManager.
 
        Parameters
        ----------
        func : grouped reduction function
 
        Returns
        -------
        ArrayManager
        rz)r}rrL) r…r>r.r}r6r‹rWr&r7rSrM)
rErƒrÚresult_indicesr’rnÚresÚnrowsÚindexÚcolumnss
          rHÚgrouped_reducezArrayManager.grouped_reduceFs߀ð+-ˆ Ø$&ˆä § ¡ Ó,ò
    %‰FˆAˆsä$ S¨qÔ1ˆCِs“)ˆC؏x‰x˜1Š}à—y‘y ‘| qÒ(Ð(Ð(ؘ!‘fà ×  Ñ   Ô %Ø × !Ñ ! !Õ $ð
    %ô ˆ}Ó  Ò "؉Eà! !Ñ$×*Ñ*¨1Ñ-ˆEÜ”e˜E“lÓ#ˆà—*‘*ˆðŒtD‹z˜-¨%°Ð)9Ó:Ð:rJcó^—g}t|j«D]C\}}||d¬«}|tur |jnd}|j    t |gd|¬««ŒEt jtjdgt¬««}|j}t|«|||g«}    |    S)zÛ
        Apply reduction function column-wise, returning a single-row ArrayManager.
 
        Parameters
        ----------
        func : reduction function
 
        Returns
        -------
        ArrayManager
        rr`Nri) r…r>rrjr‹r#r&Ú _simple_newrkrlrhrSrM)
rErƒrr’rnrTrjrVrWrGs
          rHÚreducezArrayManager.reducems¦€ð+-ˆ Ü § ¡ Ó,ò        ‰FˆAˆsِs Ô#ˆCð
"%¬¡C—I’I°ˆEØ ×  Ñ  Ü ˜u d°%Ô8õ ð        ô×!Ñ!¤"§(¡(¨D¨6¼Ô"@ÓAˆØ—*‘*ˆð”$t“*˜]¨U°GÐ,<Ó=ˆØˆrJcóÀ—|j}|j}t||«Dcgc]\}}|||«‘Œ}}}t|«||j«Scc}}w)zO
        Apply array_op blockwise with another (aligned) BlockManager.
        )r>rþrMr=)rErÿÚarray_opÚ left_arraysÚ right_arraysrrrs        rHÚoperate_blockwisezArrayManager.operate_blockwises`€ð
—k‘kˆ Ø—|‘|ˆ ä58¸ÀlÓ5S÷
Ù&1 d¨E‰HT˜5Õ !ð
ˆ ñ
ðŒtD‹z˜-¨¯©Ó4Ð4ùó
s¨AÚlinear)Ú
transposedÚ interpolationc    ó¬—|jDcgc]}t|d«‘Œ}}|Dcgc],}t|tj|j
«|«‘Œ.}}t |«D]@\}}|jdk(sŒ|jddk(sJ|j«‚|d||<ŒB||jdg}    t|«||    «Scc}wcc}w)NrzrrL) r>r.rrkr›rˆr…r}r6r=rM)
rEÚqsrbrcrÔÚarrsÚnew_arrsr’rnrFs
          rHÚquantilezArrayManager.quantile™sՀð37·+±+Ö>¨QÔ" 1 aÕ(Ð>ˆÐ>àOSö
ØJKŒO˜AœrŸz™z¨"¯*©*Ó5°}Õ Eð
ˆð
ô  Ó)ò    %‰FˆAˆs؏x‰x˜1‹}Ø—y‘y ‘| qÒ(Ð3¨#¯)©)Ó3Ð(Ø! !™f˜’ ð    %ð
D—J‘J˜q‘MÐ"ˆØŒtD‹z˜( DÓ)Ð)ùò?ùò
s
C ¨1Cc ó—|j\}}|jj«r    |}d}d}d}nqtj|jj
d«}|||j<d}|jj |jŽ}|jd¬«}|j |jŽ}    t|    «}    g}
|jD]i} t|jd«D]L} |r"t| |    dd…| f|| ||dd…| f¬«} nt| |    dd…| fd¬    «} |
j| «ŒNŒk|j}|j|j d«}||g}t#|«|
|d¬
«S) a'
        Return a BlockManager with all blocks unstacked.
 
        Parameters
        ----------
        unstacker : reshape._Unstacker
        fill_value : Any
            fill_value for newly introduced missing values.
 
        Returns
        -------
        unstacked : BlockManager
        FNrPTrr`rLrï©rðrÊ)Ú_indexer_and_to_sortrñrßrkÚfullr6ÚreshapeÚ
full_shaperõrr>r7rr‹Ú    new_indexÚget_new_columnsr=rM)rEÚ    unstackerrèr¥Ú_Ú new_indexerrðÚ
new_mask2DröÚ new_indexer2Drärnr’Únew_arrroÚ new_columnsr•s                 rHÚunstackzArrayManager.unstack®s‹€ð×3Ñ3‰
ˆØ >‰>× Ñ Ô Ø!ˆK؈J؈JØ ‰MäŸ'™' )§.¡.×"6Ñ"6¸Ó;ˆKØ*1ˆK˜    Ÿ™Ñ '؈Jð3˜9Ÿ>™>˜/×2Ñ2°I×4HÑ4HÐIˆJØ&ŸN™N°˜NÓ2ˆMØ+˜ ×+Ñ+¨Y×-AÑ-AÐBˆ Ü+¨MÓ:ˆ àˆ
Ø—;‘;ò     +ˆCܘ9×/Ñ/°Ñ2Ó3ò +Ùä%ØØ%¢a¨ dÑ+Ø#0°Ñ#3Ø#-Ø'ª¨1¨Ñ-ô ‘Gô& c¨=º¸A¸Ñ+>È5ÔQGØ×!Ñ! 'Õ*ñ +ð     +ð×'Ñ'ˆ    Ø×/Ñ/°·
±
¸1± Ó>ˆ ؘ{Ð+ˆàŒtD‹z˜* hÀÔGÐGrJcó>—t|j«dk(r5tj|jt
¬«}|j «S|xs|tju}|s-t|jDcgc]}|j‘Œc}«}t|«}tj|j|¬«}t|j«D]!\}}|j||¬«}||dd…|f<Œ#|tjur||t|«<|Scc}w)a#
        Convert the blockmanager data into an numpy array.
 
        Parameters
        ----------
        dtype : object, default None
            Data type of the return array.
        copy : bool, default False
            If True then guarantee that a copy is returned. A value of
            False does not guarantee that the underlying data is not
            copied.
        na_value : object, default lib.no_default
            Value to be used as the missing value sentinel.
 
        Returns
        -------
        arr : ndarray
        rri©r°N)rWr>rkÚemptyr6ÚfloatÚ    transposerÚ
no_defaultr,rjr+r\r…r²r)rErjr°Úna_valueÚ    empty_arrrnr·r’s        rHÚas_arrayzArrayManager.as_arrayãsï€ô0 ˆt{‰{Ó ˜qÒ  ÜŸ™ §¡´5Ô9ˆIØ×&Ñ&Ó(Ð (ðÒ5x¤s§~¡~Ð5ˆáÜ%¸D¿K¹KÖ&H°S s§y£yÒ&HÓIˆEä Ó&ˆä—‘˜$×+Ñ+°5Ô9ˆä § ¡ Ó,ò    ‰FˆAˆsØ—*‘*˜U¨*Ó.ˆC؈F’1a4ŠLð    ð œ3Ÿ>™>Ñ )Ø#+ˆF”4˜“<Ñ  àˆ ùò'IsÁ9Dcó¶—ttjj|Dcgc]}|j‘Œc}««}|||d|dgd¬«}|Scc}w)zK
        Concatenate uniformly-indexed ArrayManagers horizontally.
        rLrFrÊ)rœÚ    itertoolsÚchainÚ from_iterabler>)ÚclsÚmgrsrFrqr>rGs      rHÚconcat_horizontalzArrayManager.concat_horizontalsR€ô ”i—o‘o×3Ñ3È4Ö4PÀC°S·Z³ZÒ4PÓQÓRˆÙf˜t A™w¨¨Q©Ð0À5ÔIˆØˆùò5Qs£A c ó—tt|dj««Dcgc]=}ttt|««Dcgc]}||j|‘Œc}«‘Œ?}}}|||d|dgd¬«}|Scc}wcc}}w)zI
        Concatenate uniformly-indexed ArrayManagers vertically.
        rrLFrÊ)r7rWr>Ú concat_arrays)r†r‡rFÚjr’r>rGs       rHÚconcat_verticalzArrayManager.concat_verticals†€ôœ3˜t A™wŸ~™~Ó.Ó/÷
àô ´e¼CÀ»IÓ6FÖG°˜4 ™7Ÿ>™>¨!Ó,ÒGÕ Hð
ˆñ
ñf˜t A™w¨¨Q©Ð0À5ÔIˆØˆùò    Hùó
s¥ BÁA?Á    BÁ?B)rz
Literal[2]rrr ©r(r
rr'©r)r,r™rar6rr)r’r
rr')r’r
rr5)rzlist[ArrayLike])FN)r(úint | slice | np.ndarrayr¦r5r<rÓrrr)r(r
rErrFrÓrrrB)r(r
rLr4r¦r5rr)rr)rƒrrr9)rÿrrr)rer&rbrÓrcr8rr)r°rÓrrhrz
np.ndarray)r‡z
list[Self]rFr@rr9)r|rrrr}rIrr)r-r/r2r4rArHrKrQrXr[r`rhrxrr~rÚ classmethodrˆrŒr_rJrHrrWs…„Ø òóðð"&ð    %à1ð%ðð%ðð    %ð
 
ó %ó"ó6=ô4 Dó=óð ò8óð8ðØ ð ;à %ð;ðð;ðð    ;ð
ó ;ð|TYð1Øð1Ø5ð1ØLPð1à     ó1ô(!!óF    ó%;óNó@
5ð !Ø/7ñ *ð ð*ðð    *ð
-ð *ð
ó *ó*3HðnØØŸ>™>ð    .ðð.ðð    .ð
 
ó .ð`òóððò óñ rJrcó@—eZdZUddgZded<ded<edd„«Z    d                            dd„Zd d„Ze    d„«Z
d!d"d
„Z e d#d „«Z ed$d „«Zed%d „«Zed„«Zd„Zd„Zd„Zed&d„«Zed&d„«Zd'd„Zd(d)d„Zd*d„Zd"d„Zdd+d„Zd#d„Zd,d„Zd-d„Zd.d„Zy    )/r'r=r>r?r@có—yrÆr_rRs rHr}zSingleArrayManager.ndim5rrJcó0—||_||_|rt|«dk(sJ‚t|«dk(sJ‚|jDcgc] }t|«‘Œc}|_|d}t    |«}t |dd«d}|g|_|j «yycc}wr)r=r>rWr'r1r0r)rEr>rFrGrYrns      rHrIzSingleArrayManager.__init__9s˜€ð ˆŒ
؈Œ á ܐt“9 ’>Ð !>ܐv“; !Ò#Ð #Ð#Ø59·Z±ZÖ@¨rœ, rÕ*Ò@ˆDŒJؘ‘)ˆCÜ% cÓ*ˆCÜ& s¨D°!Ó4°QÑ7ˆCؘ%ˆDŒKØ × "Ñ "Õ $ð ùòAs¿Bcóâ—|j\}t|j«dk(sJ‚|jd}t|«|k(sJ‚|jdk(st    d|j›d«‚y)NrLrz5Passed array should be 1-dimensional, got array with r )r6rWr>r}rù)rEr!rns   rHrz$SingleArrayManager._verify_integrityLst€Ø—J‘J‰    ˆÜ4—;‘;Ó 1Ò$Ð$Ð$؏k‰k˜!‰nˆÜ3‹x˜6Ò!Ð!Ð!؏x‰x˜1Š}ÜØGØ—8‘8*Ð0ð2óð ðrJcó—|SrBr_r`s rHrbz"SingleArrayManager._normalize_axisWs€àˆ rJNcó’—|€tgt¬«g}tjg|j¬«}t |«|g|«S)z9Return an empty ArrayManager with index/array of length 0ri)r&rhrkrlrjrM)rErFrls   rHrNzSingleArrayManager.make_empty[s?€à ˆ<ܘ"¤FÔ+Ð,ˆDÜŸH™H R¨t¯z©zÔ:ˆØŒtD‹z˜5˜' 4Ó(Ð(rJcó—||g|g«SrBr_)r†rlrVs   rHÚ
from_arrayzSingleArrayManager.from_arraybs€áE7˜U˜GÓ$Ð$rJcó—|jSrBrQrRs rHrFzSingleArrayManager.axesgó €àz‰zÐrJcó —|jdS)NrrQrRs rHrVzSingleArrayManager.indexks€àz‰z˜!‰}ÐrJcó.—|jjSrB)rlrjrRs rHrjzSingleArrayManager.dtypeos€àz‰z×ÑÐrJcó,—t|j«S)z$The array that Series.values returns)r/rlrRs rHr/z"SingleArrayManager.external_valuesss€ä˜tŸz™zÓ*Ð*rJcó—|jS)z%The array that Series._values returns)rlrRs rHÚinternal_valuesz"SingleArrayManager.internal_valueswršrJcóh—|j}t|tj«r t    |«}|S)z#The array that Series.array returns)rlr†rkršrrms  rHrüzSingleArrayManager.array_values{s(€àj‰jˆÜ cœ2Ÿ:™:Ô &Ü% cÓ*ˆC؈
rJcóº—t|jtj«r"|jjj
dvS|jj S)NÚiub)r†rlrkršrjÚkindÚ _can_hold_narRs rHr¤zSingleArrayManager._can_hold_na‚sA€ä d—j‘j¤"§*¡*Ô -Ø—:‘:×#Ñ#×(Ñ(°Ð5Ð 5ð—:‘:×*Ñ*Ð *rJcó—y)NTr_rRs rHrÇz"SingleArrayManager.is_single_blockŠs€àrJcó—td«‚)NzUse series._values[loc] insteadrC)rEr(s  rHr)zSingleArrayManager.fast_xsŽs€Ü!Ð"CÓDÐDrJcó¶—||jk\r td«‚|j|}|jj    |«}t |«|g|gd¬«S)NrîFrÊ)r}rórlrVr+rM)rEr,raÚ    new_arrayros     rHr-zSingleArrayManager.get_slice‘sU€Ø 4—9‘9Ò ÜÐBÓCÐ Cà—J‘J˜uÑ%ˆ    Ø—J‘J×-Ñ-¨eÓ4ˆ    ØŒtD‹z˜9˜+¨     {ÀUÔKÐKrJcóf—|j|}|j|}t|«|g|g«SrB)rlrVrM)rEr¥r¨ros    rHÚget_rows_with_maskz%SingleArrayManager.get_rows_with_mask™s5€Ø—J‘J˜wÑ'ˆ    Ø—J‘J˜wÑ'ˆ    ØŒtD‹z˜9˜+¨     {Ó3Ð3rJc ó²—t|«r||jfi|¤Ž}nt|j|«di|¤Ž}t|«|g|j«S)Nr_)r‰rlrŠrMr=)rErƒrŽr¨s    rHr‚zSingleArrayManager.applyŸsO€Ü DŒ>Ù˜TŸZ™ZÑ2¨6Ñ2‰Ià1œ §
¡
¨DÓ1Ñ;°FÑ;ˆIØŒtD‹z˜9˜+ t§z¡zÓ2Ð2rJcóÀ—t|tj«r1|j|jkDrt    d|j›«‚|j d||¬«S)zÓ
        Set values with indexer.
 
        For SingleArrayManager, this backs s[indexer] = value
 
        See `setitem_inplace` for a version that works inplace and doesn't
        return a new Manager.
        zCannot set values with ndim > r£r¤)r†rkršr}rùr¡r§s    rHr£zSingleArrayManager.setitem¦sP€ô gœrŸz™zÔ *¨w¯|©|¸d¿i¹iÒ/GÜÐ=¸d¿i¹i¸[ÐIÓJÐ JØ×$Ñ$ Y¸ÀuÐ$ÓMÐMrJcóԗtj|jdtj¬«}d||<|jd|g|_|j
d|g|_|S)zS
        Delete selected locations in-place (new array, same ArrayManager)
        rriF)rkrNr6rOr>r=)rEr¥rPs   rHrQzSingleArrayManager.idelete³s]€ô—'‘'˜$Ÿ*™* Q™-¬r¯x©xÔ8ˆØ ˆÑà—{‘{ 1‘~ gÑ.Ð/ˆŒ Ø—j‘j ‘m GÑ,Ð-ˆŒ
؈ rJcó–—||j«r(t|«|j|jd¬«S|j    «S)NFrÊ)rlrMr>r=rN)rErÌs  rHrÐz#SingleArrayManager._get_data_subset¾s8€á T—Z‘ZÔ  Ø”4˜“:˜dŸk™k¨4¯:©:ÈÔNÐ Nà—?‘?Ó$Ð $rJcó"—||jd<y)zá
        Set (replace) the values of the SingleArrayManager in place.
 
        Use at your own risk! This does not check if the passed values are
        valid for the current SingleArrayManager (length, dtype, etc).
        rNr1)rErs  rHÚ
set_valueszSingleArrayManager.set_valuesÅs€ð ˆ ‰ AŠrJcó`—|jdg}|jd|g}t||d¬«S)z5
        Manager analogue of Series.to_frame
        rFrÊ)r>rFr)rErWr>rFs    rHÚ    to_2d_mgrzSingleArrayManager.to_2d_mgrÎs5€ð—+‘+˜a‘.Ð!ˆØ—    ‘    ˜!‘ ˜gÐ&ˆä˜F D¸5ÔAÐArJ)rz
Literal[1]rrr rBr)rr'r    rrrrŽ)r,r™rar6rr')r¥znpt.NDArray[np.bool_]rr')r¨rÓrr')rÌrrr')rr5rr)rWr&rr)r|rrrrrr}rIrrrbrNrr˜rFrVrjr/rŸrür¤rÇr)r-rªr‚r£rQrÐr°r²r_rJrHr'r',s5…àØð€Ið
.Ó-Ø Óà òóðð"&ð    %à1ð%ðð%ðð    %ð
 
ó %ó&    ðñóðô)ðò%óð%ðòóððòóððñ óð ò+òòðò+óð+ðòóðóEôLó4ó 3ô Nó    ó%ó ôBrJr'có6—eZdZdZdZdd„Zedd„«Zd    d„Zy)
rûab
    Proxy object for an all-NA array.
 
    Only stores the length of the array, and not the dtype. The dtype
    will only be known when actually concatenating (after determining the
    common dtype, for which this proxy is ignored).
    Using this object avoids that the internals/concat.py needs to determine
    the proper dtype and array type.
    rLcó—||_yrBrªr®s  rHrIzNullArrayProxy.__init__ås    €ØˆrJcó—|jfSrBrªrRs rHr6zNullArrayProxy.shapeès€à—‘ˆyÐrJcó—t|t«rd|j«jg|¬«}t    j
|j tj¬« }|j|d¬«St|«}t|«}t    j|j |¬«}|j|«t|«S)a'
        Helper function to create the actual all-NA array from the NullArrayProxy
        object.
 
        Parameters
        ----------
        arr : NullArrayProxy
        dtype : the dtype for the resulting array
 
        Returns
        -------
        np.ndarray or ExtensionArray
        riTrj)r†rr$r%rkrNr«rÉrËr rr{Úfillr!)rErjr{r¥rèrns      rHÚto_arrayzNullArrayProxy.to_arrayìs›€ô eœ^Ô ,Ø×.Ñ.Ó0×?Ñ?ÀÈ%Ð?ÓPˆEÜ—w‘w˜tŸv™v¬R¯W©WÔ5Ð5ˆGØ—:‘:˜g°$:Ó7Ð 7ô-¨UÓ3ˆEÜ+¨EÓ2ˆJÜ—(‘(˜4Ÿ6™6¨Ô/ˆCØ H‰HZÔ  Ü1°#Ó6Ð 6rJN)r«r
rr)rz
tuple[int])rjr7rr5)    r|rrrr}rIrr6r¸r_rJrHrûrûØs,„ñð €Dóðòóðô7rJrûcó—|Dcgc]}t|t«rŒ|‘Œ}}|Dchc]}|j’Œ}}t|«dk(}|r|dj}n>t    d„|D««r    t |Ž}n#t |Dcgc]}|j‘Œc}«}|Dcgc]1}t|t«r|j|«n t||d¬«‘Œ3}}t|dt«rt|d«}|j|«Stj|«}t|«dk(rJ|D    chc]}    |    jj’Œ}
}    t|
«dk7rd|
vr|jt «}|Scc}wcc}wcc}wcc}wcc}    w)aÈ
    Alternative for concat_compat but specialized for use in the ArrayManager.
 
    Differences: only deals with 1D arrays (no axis keyword), assumes
    ensure_wrapped_if_datetimelike and does not skip empty arrays to determine
    the dtype.
    In addition ensures that all NullArrayProxies get replaced with actual
    arrays.
 
    Parameters
    ----------
    to_concat : list of arrays
 
    Returns
    -------
    np.ndarray or ExtensionArray
    rLrc3óHK—|]}tj|d«–—Œy­w)r¢N)rÚ is_np_dtype)rXrÔs  rHrZz concat_arrays.<locals>.<genexpr>!sèø€Ò 7¨1ŒS_‰_˜Q × &Ñ 7ùs‚ "FrzÚb)r†rûrjrWrßrr r¸r    rrMÚ_concat_same_typerkÚ concatenater£r²rh) Ú    to_concatrÔÚto_concat_no_proxyÚdtypesÚ single_dtypeÚ target_dtypernr†r·r“Úkindss            rHrŠrŠsw€ð&&/ÖT ´jÀÄNÕ6Sš!ÐTÐÐTà1Ö 2˜!ˆag‹gÐ 2€FÐ 2ܐv“; !Ñ#€LáØ)¨!Ñ,×2Ñ2‰ Ü     Ñ 7°Ô 7Ô    7ä*¨FÐ3‰ ä'Ð>PÖ(Q°s¨¯«Ò(QÓRˆ ð ö    ð ô cœ>Ô *ð      ‰ \Ô"ä ˜#˜|°%Ô 8ñ    9ð€Iðô)˜A‘,¤Ô/ܐ9˜Q‘<Ó ˆØ×$Ñ$ YÓ/Ð/ä ^‰^˜IÓ &€Fô ˆ6ƒ{aÒà+=Ö> C—‘—“Ð>ˆÐ>Ü ˆu‹:˜Š?ؐe‰|ØŸ™¤vÓ.Ø €MùòEUùâ 2ùò)Rùòùò"?s!…E5›E5¥E:Á>E?Â6FÄ-F    )r¿rœrr5)ZrÚ
__future__rrƒÚtypingrrrÚnumpyrkÚ pandas._libsrrÚpandas.core.dtypes.astyper    r
Úpandas.core.dtypes.castr r r rÚpandas.core.dtypes.commonrrrrrrÚpandas.core.dtypes.dtypesrÚpandas.core.dtypes.genericrrÚpandas.core.dtypes.missingrrrÚpandas.core.algorithmsÚcoreÚ
algorithmsr¬Ú pandas.core.array_algos.quantilerÚpandas.core.array_algos.takerÚpandas.core.arraysrrrr Úpandas.core.constructionr!r"r#Úpandas.core.indexersr$r%Úpandas.core.indexes.apir&r'Úpandas.core.indexes.baser(Úpandas.core.internals.baser)r*r+r,Úpandas.core.internals.blocksr-r.r/r0r1r2Úpandas.core.internals.managersr3Úcollections.abcr4Úpandas._typingr5r6r7r8r9r:r<rr'rûrŠr_rJrHú<module>rÞsñðñõ#ã÷ñó ÷÷
÷ó÷ ÷õ5÷÷ñ÷ 'Ð&Ý<Ý0÷ó÷ ñ÷
÷õ8÷ó÷ ÷õ9áÝ(÷÷ôl{ôlôdRÐ#ôRôjiBÐ)Ð+<ôiB÷X,7ñ,7ô^5rJ