Ë
    u™ãjó‰  ã                  ó\  — d Z ddlmZ ddlmZ ddlmZmZ ddlZddl	Z
ddl	mZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZmZmZmZ ddlmZmZmZmZm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+m,Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z4m5Z5m6Z6m7Z7 ddl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZA ddlBmCZCmDZDmEZEmFZF ddlGmHZHmIZI erddlJmKZKmLZL ddlMmNZNmOZOmPZPmQZQ ddddœ	 	 	 	 	 	 	 	 	 d3d„ZR	 	 	 	 	 	 	 	 d4d„ZS	 	 	 	 	 	 d5d„ZT	 	 	 	 	 	 	 	 d6d„ZUddd œ	 	 	 	 	 	 	 d7d!„ZV	 	 	 	 	 	 	 	 	 	 d8d"„ZWd9d#„ZXd:d;d$„ZYd<d%„ZZ	 	 	 	 	 	 d=d&„Z[d>d'„Z\	 	 	 	 	 	 	 	 	 	 d?d(„Z]d>d)„Z^	 	 	 	 	 	 	 	 	 	 d@d*„Z_d+„ Z`	 dA	 	 	 	 	 dBd,„ZadCd-„Zb	 	 	 	 	 	 dDd.„Zc	 	 	 	 	 	 dEd/„Zd	 	 	 	 	 	 	 	 dFd0„Ze	 	 	 	 	 	 dGd1„Zf	 	 dH	 	 	 	 	 	 	 	 	 dId2„Zgy)Jz~
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)ÚPandas4Warning)Úfind_stack_level)Úastype_is_view)Ú"construct_1d_arraylike_from_scalarÚ'construct_1d_object_array_from_listlikeÚdict_compatÚmaybe_cast_to_datetime)Úis_1d_only_ea_dtypeÚis_integer_dtypeÚis_list_likeÚis_named_tupleÚis_object_dtypeÚ	is_scalar)ÚBaseMaskedDtypeÚExtensionDtype)ÚABCDataFrameÚ	ABCSeries)Úisna)Ú
algorithmsÚcommon)ÚExtensionArray)ÚStringDtype)ÚarrayÚextract_arrayÚrange_to_ndarrayÚsanitize_array)	ÚDatetimeIndexÚIndexÚ
MultiIndexÚTimedeltaIndexÚdefault_indexÚensure_indexÚget_objs_combined_axisÚmaybe_sequence_to_rangeÚunion_indexes)ÚBlockPlacementÚensure_block_shapeÚ	new_blockÚnew_block_2d)Ú create_block_manager_from_blocksÚ'create_block_manager_from_column_arrays)ÚHashableÚSequence)Ú	ArrayLikeÚDtypeObjÚManagerÚnptT)ÚdtypeÚverify_integrityÚconsolidatec               óü  — |r*|€t        | «      }nt        |«      }t        | ||«      \  } }nŒt        |«      }| D �cg c]  }t        |d¬«      ‘Œ } }dgt	        | «      z  }| D ]S  }t        |t        j                  t        f«      r'|j                  dk7  st	        |«      t	        |«      k7  sŒJt        d«      ‚ t        |«      }t	        |«      t	        | «      k7  rt        d«      ‚||g}	t        | |	||¬«      S c c}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))r;   Úrefs)Ú_extract_indexr)   Ú_homogenizer!   ÚlenÚ
isinstanceÚnpÚndarrayr   ÚndimÚ
ValueErrorr2   )
ÚarraysÚcolumnsÚindexr9   r:   r;   r@   ÚxÚarrÚaxess
             úm/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/core/internals/construction.pyÚarrays_to_mgrrP   c   s  € ñ àˆ=Ü" 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ä2Ø� +°Dôð ùò/ Hs   ¼C9c                ó.  — t        j                  | «      }|€t        t        |«      «      }nt	        |«      }|�t	        |«      }t        ||«      \  }}t        |||t        |«      «      \  }}|€|}t        ||||¬«      }|r|j                  d¬«      }|S )zA
    Extract from a masked rec array and create the manager.
    ©r9   T©Údeep)	r   Úgetdatar(   rC   r)   Ú	to_arraysÚreorder_arraysrP   Úcopy)	ÚdatarK   rJ   r9   rX   ÚfdatarI   Úarr_columnsÚmgrs	            rO   Ú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Ô
<€CáØ�h‰h˜DˆhÓ!ˆØ€Jó    c                ó   — t        | t        t        t        f«       }t        | t        «      rw|€"| j                  �t        | j                  g«      }|€| j
                  }n| j                  |«      } t        | «      s(|�&t        |«      rt        j                  dt        ¬«      } t        | dd «      }d }t        |«      st        |«      �rt        | t        j                  t        f«      r<| j                  dkD  r-t        | j                   d   «      D �cg c]  }| d d …|f   ‘Œ } }n| g} |rq| D �	cg c]f  }	t        |	t        t        t        f«      rGt        |	j"                  «      r2t        |	t        «      r|	j%                  d¬«      n|	j%                  «       n|	‘Œh } }	|€t        t        t        | «      «      «      }nt'        |«      }t)        | ||||¬«      S t        | t        t        f«      r&|s$|�t+        | j"                  |«      r| j,                  }t        |t.        «      rAt1        | d¬«      } |r| j%                  «       } | j                  dk(  rß| j3                  d	d«      } nÌt        | t        t        f«      r5|r| j4                  j%                  «       } n| j4                  } t7        | «      } n�t        | t        j                  t        f«      rT|r1|�t+        | j"                  |«      rt        j8                  | dd
¬«      } nt        j:                  | «      } t7        | «      } nt=        | |¬«      } |�| j"                  |k7  rt?        | d ||d¬«      } tA        | j                   d   | j                   d   ||¬«      \  }}tC        | ||«       | jD                  } |€æ|rätG        | j"                  «      rÏtI        | «      }
|
D �	cg c]/  }	tK        jL                  |	dddt        j"                  d«      ¬«      ‘Œ1 }}	tO        d„ tQ        |
|d¬«      D «       «      r=tS        |«      D ��cg c]%  \  }}tU        tW        |d«      tY        |«      ¬«      ‘Œ' }}}�ntY        t[        t        |«      «      «      }tU        | ||¬«      }|g}n×|€§| j"                  j\                  dk(  rŽt_        «       r„ta        t        jb                  ¬«      }tI        | «      }
tS        |
«      D ��cg c]H  \  }}te        |jg                  «       ji                  ||¬«      tY        t[        ||dz   «      «      d¬«      ‘ŒJ }}}n.tY        t[        t        |«      «      «      }tU        | ||¬«      }|g}t        |«      dk(  rg }tk        |||gd¬«      S c c}w c c}	w c c}	w c c}}w c c}}w )N)r   r?   rR   r9   r?   TrS   ©r9   r;   r=   éÿÿÿÿÚF)rX   Úorder©rX   )r9   rX   Úallow_2dr   )rK   rJ   FúM8[s]©Úconvert_numericÚconvert_non_numericÚconvert_to_nullable_dtypeÚdtype_if_all_natc              3  ó*   K  — | ]  \  }}||u–— Œ y ­w©N© )Ú.0rL   Úys      rO   ú	<genexpr>z!ndarray_to_mgr.<locals>.<genexpr>D  s   è ø€ ÒT™d˜a ˆq˜ŒzÑTùs   ‚)Ústricté   )Ú	placement)rt   r@   ÚU)Úna_value)rG   )r:   )6rD   r   r%   r   ÚnamerK   ÚreindexrC   rE   ÚemptyÚobjectÚgetattrr   rF   rG   ÚrangeÚshaper9   rX   r)   rP   r   Ú_referencesr   r!   ÚreshapeÚ_valuesÚ
_ensure_2dr    ÚasarrayÚ_prep_ndarrayliker#   Ú	_get_axesÚ!_check_values_indices_shape_matchÚTr   Úlistr	   Úmaybe_convert_objectsÚanyÚzipÚ	enumerater0   r.   r-   ÚsliceÚkindr   r   Únanr/   Úconstruct_array_typeÚ_from_sequencer1   )ÚvaluesrK   rJ   r9   rX   Úinfer_objectÚvdtyper@   ÚnrL   Úobj_columnsÚmaybe_datetimeÚdvalÚblock_valuesÚbpÚnbÚirY   s                     rO   Úndarray_to_mgrrœ   Ä   sû  € ô
 " &¬9´e¼^Ð*LÓMÐM€Lä�&œ)Ô$Øˆ?Ø�{‰{Ð&Ü §¡ Ó.�Øˆ=Ø—L‘L‰Eà—^‘^ EÓ*ˆFô �6Œ{˜wÐ2´s¸7´|Ü—X‘X˜f¬FÔ3ˆFä�V˜W dÓ+€FØ€DÜ˜6Ô"Ô&9¸%Õ&@ô �fœrŸz™z¬>Ð:Ô;ÀÇÁÈaÂô ˜vŸ|™|¨A™Ó/öàð ’q˜!�t“ðˆFñ ð
 �XˆFñ ð  öð
 ô ˜a¤.´%¼Ð!CÔDÜ'¨¯©Ô0ô '1°´EÔ&:�—‘˜T�Ô"ÀÇÁÄð ñðˆFð ð ˆ?ÜœE¤# f£+Ó.Ó/‰Gä" 7Ó+ˆGä˜V W¨e¸5ÈdÔSÐSä�&œ9¤eÐ,Ô-Ù˜˜¬.¸¿¹ÀuÔ*MØ×%Ñ%ˆDä�&œ.Ô)ô ˜v°TÔ:ˆÙØ—[‘[“]ˆFØ�;‰;˜!ÒØ—^‘^ B¨Ó*‰Fä	�FœY¬Ð.Ô	/ÙØ—^‘^×(Ñ(Ó*‰Fà—^‘^ˆFä˜FÓ#‰ä	�FœRŸZ™Z¬Ð8Ô	9á�U�]¤n°V·\±\À5Ô&Iô —X‘X˜f¨4°sÔ;‰Fä—Z‘Z Ó'ˆFÜ˜FÓ#‰ô
 # 6°Ô5ˆàÐ˜VŸ\™\¨UÒ2äØØØØØô
ˆô Ø�‰�Q‰˜Ÿ™ a™°¸wô�N€Eˆ7ô & f¨e°WÔ=à�X‰X€Fð
 €}™¬/¸&¿,¹,Ô*GÜ˜6“lˆð !ö
ð ô ×%Ñ%Øð !&Ø$(Ø*/Ü!#§¡¨'Ó!2öð
ˆð 
ô ÑT¤c¨+°~ÈdÔ&SÔTÔTô  )¨Ó8÷á�A�tô Ô/°°aÓ8ÄNÐSTÓDUÖVðˆ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 Ð&¸ôð ùòCùòùòV
ùóùó
s    ÄU5Ä/A+U:Î>4U?Ð *VÓAV
c                ó0  — | j                   d   t        |«      k7  s| j                   d   t        |«      k7  r`| j                   d   dcxk(  rt        |«      k  rt        d«      ‚ | j                   }t        |«      t        |«      f}t        d|› d|› �«      ‚y)z\
    Check that the shape implied by our axes matches the actual shape of the
    data.
    r?   r   z)Empty data passed with indices specified.zShape of passed values is z, indices imply N)r}   rC   rH   )r‘   rK   rJ   ÚpassedÚimplieds        rO   r…   r…   h  s”   € ð ‡|�|�A�œ#˜g›,Ò&¨&¯,©,°q©/¼SÀ»ZÒ*Gð �<‰<˜‰?˜aÔ,¤# e£*Ò,ÜÐHÓIÐIð -ð —‘ˆÜ�u“:œs 7›|Ð,ˆÜÐ5°f°XÐ=MÈgÈYÐWÓXÐXð +Hr^   ©r9   rX   c               ó@  — |��„t        |«      }|�4t        |t        j                  «      s|j                  gt        |«      z  }nt        j                  gt        |«      z  }t        «       }t        | j                  «       «      }t        | j                  «       «      }t        |«      D ]J  \  }	}
	 |j                  |
«      }||   }|||	<   t        |«      sŒ.t!        |«      sŒ:|j                  |	«       ŒL |€;|r-t#        t        |«      D �	�cg c]  \  }	}|	|vsŒ|‘Œ c}}	«      }nt#        |«      }nt        |«      }|r§t%        |«      sœ|D ]7  }	t'        ||	   t        |«      |�|nt        j                  d«      «      }|||	<   Œ9 n_t)        t        | j                  «       «      «      }|rt+        |«      n
t-        d«      }|D �cg c]  }t/        j0                  | |   «      ‘Œ }}|rv|D �cg c]k  }t        |t2        «      r|j5                  «       nHt        |t*        «      s%t        |t6        «      r't9        |j                  «      r|j5                  d¬«      n|‘Œm }}t;        |||||¬«      S # t        $ r |j                  |	«       Y �Œãw xY wc c}}	w c c}w c c}w )z’
    Segregate Series based on type and coerce into matrices.
    Needs to handle a lot of exceptional cases.

    Used in DataFrame.__init__
    rz   r   TrS   r`   )r)   rD   rE   r9   rv   rC   rŽ   ÚsetÚkeysr‡   r‘   r‹   Úget_locÚKeyErrorÚaddr   r   rA   r   r   r+   r%   r(   ÚcomÚmaybe_iterable_to_listr   rX   r   r   rP   )rY   rK   rJ   r9   rX   rI   ÚmidxsÚ	data_keysÚdata_valuesr›   ÚcolumnÚidxr    rM   r£   ÚkrL   s                    rO   Údict_to_mgrr¯   z  so  € ð  ÑÜ˜wÓ'ˆØÐ¤Z°´r·x±xÔ%@à—n‘nÐ%¬¨G«Ñ4‰Fä—f‘f�X¤ G£Ñ,ˆFÜ“ˆÜ  §¡£Ó-ˆ	Ü˜4Ÿ;™;›=Ó)ˆä" 7Ó+ò 		‰IˆAˆvðØ×'Ñ'¨Ó/�ð   Ñ$ˆEØˆF�1‰IÜ˜Õ¤D¨¥KØ—	‘	˜!•ð		ð ˆ=ñ Ü&Ü+4°VÓ+<×O™x˜q %ÀÈÂ’UÓOó‘ô ' vÓ.‘ä  Ó'ˆEñ Ô)¨%Ô0àò  �Ü8Ø˜1‘IÜ˜“JØ"Ð.‘E´B·H±H¸XÓ4Fó�ð
  ��q’	ñ ô '¤t¨D¯I©I«KÓ'8Ó9ˆÙ!%”%˜”+¬=¸Ó+;ˆØ?CÖD¸!”#×,Ñ,¨T°!©WÕ5ÐDˆÐDáð  ö
ð ô ˜a¤Ô0ð —‘”ô
 # 1¤eÔ,Ü& q¬)Ô4Ô9LÈQÏWÉWÔ9Uð —F‘F �FÔ%ð
 ñ	ð
ˆð 
ô  ˜ ¨%°uÈ$ÔOÐOøôo ò Ø—	‘	˜!”Úðüó Pùò* Eùò

s+   Â0I/ÄJ
ÄJ
ÇJÇ-A0JÉ/JÊJc                óþ   — t        | d   «      r|€t        | d   j                  «      }t        | ||¬«      \  }}t        |«      }|€3t	        | d   t
        «      rt        | «      }nt        t        | «      «      }|||fS )zA
    Convert a single sequence of arrays to multiple arrays.
    r   rR   )	r   r)   Ú_fieldsrV   rD   r   Ú_get_names_from_indexr(   rC   )rY   rJ   rK   r9   rI   s        rO   Ú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        | «      dkD  xrG t        | d   «      xr7 t        | d   dd«      dk(  xr" t        | t        «      xr | j
                  dk(   S )z7
    Check if we should use nested_data_to_arrays.
    r   rG   r?   rs   )rC   r   r{   rD   r   rG   )rY   s    rO   Ú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        | «      dk(  rt        j                  dt        ¬«      S t	        | t
        «      r t        | «      }|dt        j                  f   S d„ }t        | d   «      r4t        j                  | D �cg c]
  } ||«      ‘Œ c}«      } t        | «      S t	        | d   t        j                  «      rF| d   j                  dk(  r4t        j                  | D �cg c]
  } ||«      ‘Œ c}«      } t        | «      S  || «      } t        | «      S c c}w c c}w )Nr   )r   r   rR   .c                ó*  — t        | «      rt        | t        «      r| S t        | d¬«      } t        | t        t
        t        f«      rt        | «      } t        | t        j                  «      r(| j                  t        k(  rt        j                  | «      } | S )NTr=   )r   rD   r   r!   r‡   Útupler|   r   rE   rF   r9   rz   r	   rˆ   )Úvs    rO   Úconvertz"_prep_ndarraylike.<locals>.convert  sn   € Ü˜AŒ¤*¨Q´Ô"=ØˆHä˜!¨4Ô0ˆÜ�aœ$¤¤uÐ-Ô.Ü7¸Ó:ˆAÜ�aœŸ™Ô$¨¯©´FÒ):Ü×)Ñ)¨!Ó,ˆAð ˆr^   )rC   rE   ry   rz   rD   r|   r"   Únewaxisr   r    rF   rG   r�   )r‘   rX   rM   rº   r¹   s        rO   rƒ   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Ã!Dc                ó¶   — | j                   dk(  r"| j                  | j                  d   df«      } | S | j                   dk7  rt        d| j                  › �«      ‚| S )zB
    Reshape 1D values, raise on anything else other than 2D.
    r?   r   rs   zMust pass 2-d input. shape=)rG   r   r}   rH   )r‘   s    rO   r�   r�   $  s\   € ð ‡{�{�aÒØ—‘ §¡¨a¡°!Ð 4Ó5ˆð €Mð 
�‰˜Ò	ÜÐ6°v·|±|°nÐEÓFÐFØ€Mr^   c                óf  — d }g }g }| D �]¢  }t        |t        t        f«      r~|�|j                  |«      }t        |t        «      r3|j                  j
                  |j
                  ur|j                  |«      }|j                  |j                  «       |j                  }nút        |t        «      r´|€|j                  d«      }t        |t        t        f«      rt        |«      }nt        |«      }t        |t        «      s4|j                  r(ddlm}  ||«      j                  |«      j                  }n0t%        j&                  ||j                  t(        j*                  ¬«      }t-        |||d¬«      }t/        j0                  ||«       |j                  d «       |j                  |«       �Œ¥ ||fS )NÚOr   )ÚSeries)ÚdefaultFr    )rD   r   r%   ÚastyperK   Ú_idrx   Úappendr~   r€   Údictr$   r'   r   r&   ÚhasnansÚpandasr¿   r	   Úfast_multigetrE   rŽ   r#   r§   Úrequire_length_match)rY   rK   r9   ÚoindexÚhomogenizedr@   Úvalr¿   s           rO   rB   rB   /  sd  € ð €FØ€Kà€Dàó ' ˆÜ�cœI¤uÐ-Ô.ØÐ Ø—j‘j Ó'�Ü˜#œyÔ)¨c¯i©i¯m©mÀ5Ç9Á9Ñ.Lð —k‘k %Ó(�Ø�K‰K˜Ÿ™Ô(Ø—+‘+‰Cä˜#œtÔ$ð �>Ø"Ÿ\™\¨#Ó.�Fä˜e¤m´^Ð%DÔEä% cÓ*‘Cô ˜s›)�Cä! %¬Ô4¸¿ºõ .á  ›+×-Ñ-¨eÓ4×<Ñ<‘Cô ×+Ñ+¨C°·±ÌÏÉÔP�Cä   e°5¸uÔEˆCÜ×$Ñ$ S¨%Ô0Ø�K‰K˜Ôà×Ñ˜3ÖðO' ðR ˜ÐÐr^   c                ój  — t        | «      dk(  rt        d«      S t        «       }g }d}d}d}| D ]Ø  }t        |t        «      rd}|j                  |j                  «       Œ1t        |t        «      r+d}|j                  t        |j                  «       «      «       Œlt        |«      r-t        |dd«      dk(  rd}|j                  t        |«      «       Œ¤t        |t        j                  «      sŒ¿|j                  dkD  sŒÏt!        d«      ‚ |s|st!        d«      ‚|rt#        |«      \  }}n|rt#        |d¬«      \  }}|rmt        |«      dkD  rt!        d	«      ‚|rt!        d
«      ‚|j%                  «       }	|r*|	t        «      k7  r'd|	› dt        |«      › �}
t!        |
«      ‚t        |	«      }t'        «      S )zR
    Try to infer an Index from the passed data, raise ValueError on failure.
    r   FTrG   r?   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 )rC   r(   r¢   rD   r   rÃ   rK   rÄ   r‡   r£   r   r{   r¦   rE   rF   rG   rH   r,   Úpopr)   )rY   Úraw_lengthsÚindexesÚhave_raw_arraysÚhave_seriesÚ
have_dictsrË   rK   Ú_Ú
raw_lengthÚmsgs              rO   rA   rA   c  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Ø�O‰OœC ›HÕ%Ü˜œRŸZ™ZÕ(¨S¯X©X¸«\ÜÐKÓLÐLðMñ ™;ÜÐMÓNÐNáÜ  Ó)‰ˆ‰qÙ	Ü  ¨uÔ5‰ˆˆqáÜˆ{Ó˜aÒÜÐDÓEÐEáÜØNóð ð !—_‘_Ó&ˆ
ÙØœS ›ZÒ'à# J <ð 0Ü! %›j˜\ð+ð ô ! “oÐ%ä! *Ó-ˆEä˜ÓÐr^   c                ó0  — |�‘|j                  |«      s€g }|j                  |«      }t        |«      D ][  \  }}|dk(  r;t        j                  |t
        ¬«      }|j                  t        j                  «       n| |   }|j                  |«       Œ] |} |}| |fS )zA
    Preemptively (cheaply) reindex arrays with new columns.
    ra   rR   )	ÚequalsÚget_indexerr‹   rE   ry   rz   ÚfillrŽ   rÃ   )	rI   r[   rJ   ÚlengthÚ
new_arraysÚindexerr›   r®   rM   s	            rO   rW   rW   �  s˜   € ð ÐØ�~‰~˜kÔ*à*,ˆJØ!×-Ñ-¨gÓ6ˆGÜ! 'Ó*ò '‘��1Ø˜’7äŸ(™( 6´Ô8�CØ—H‘HœRŸV™VÕ$à  ™)�CØ×!Ñ! #Õ&ð'ð  ˆFØ!ˆKà�;ÐÐr^   c                ó  — t        d„ | D «       «      }|st        t        | «      «      S t        t	        t        | «      «      «      }d}t        | «      D ]'  \  }}t        |dd «      }|�|||<   Œd|› �||<   |dz  }Œ) t        |«      S )Nc              3  ó:   K  — | ]  }t        |d d«      du–— Œ y­w)rw   N)r{   )ro   Úss     rO   rq   z(_get_names_from_index.<locals>.<genexpr>¹  s   è ø€ ÒKÀœ  6¨4Ó0¸Ô<ÑKùs   ‚r   rw   zUnnamed r?   )r‰   r(   rC   r‡   r|   r‹   r{   r%   )rY   Úhas_some_namerK   Úcountr›   rá   r”   s          rO   r²   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        |«      }||fS t        |«      }||fS rm   )r(   r)   )ÚNÚKrK   rJ   s       rO   r„   r„   Ê  sN   € ð €}Ü˜aÓ ‰ä˜UÓ#ˆà€Ü Ó"ˆð �'ˆ>Ðô ˜wÓ'ˆØ�'ˆ>Ðr^   c                ó8   — ddl m} t        t        || «      «      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)rY   rè   s     rO   Údataclasses_to_dictsrë   Ü  s   € õ0 #ä”�F˜DÓ!Ó"Ð"r^   c                ó4  — t        | «      �st        | t        j                  «      rá| j                  j
                  �rt        | j                  j
                  «      }|D �cg c]  }| |   ‘Œ	 }}t        | «      dk(  r/t        |«      D ]!  \  }}|j                  dk(  sŒ|dd…df   ||<   Œ# ||fS | j                  dk(  rJt        | j                  d   «      D �cg c]  }| dd…|f   ‘Œ }}|€t        | j                  d   «      }||fS g t        g «      fS t        | t        j                  «      rM| j                  j
                  �7|€t        | j                  j
                  «      }|D �cg c]  }| |   ‘Œ	 }}||fS t        | t        j                  «      rY| j                  dk(  rJt        | j                  d   «      D �cg c]  }| dd…|f   ‘Œ }}|€t        | j                  d   «      }||fS t        | d   t        t        f«      rt        | «      }�nCt        | d   t         j"                  «      rt%        | |«      \  }}�nt        | d   t&        «      rt)        | |«      \  }}nò| D �	ch c]  }	t+        |	d«      sŒ|	j                  ’Œ }
}	t        |
«      dk(  r›t-        d„ | D «       «      r‰t        | D �	ch c]  }	t        |	«      ’Œ c}	«      dk(  rd|
j/                  «       }t        | d   «      }t        |«      D ��	cg c]   }t1        | D �	cg c]  }	|	|   ‘Œ	 c}	|¬«      ‘Œ" }}}	t3        ||«      }||fS | D �cg c]  }t        |«      ‘Œ } }t        | «      }t5        |||«      \  }}||fS c c}w c c}w c c}w c c}w c c}	w c c}	w c c}	w c c}	}w c c}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).
    Nr   rs   r?   r9   c              3  ó4   K  — | ]  }t        |d «      –— Œ y­w)r9   N)Úhasattr)ro   Úrows     rO   rq   zto_arrays.<locals>.<genexpr>E  s   è ø€ Ò:¨c”G˜C ×)Ñ:ùs   ‚rR   )rC   rD   rE   rF   r9   Únamesr)   r‹   rG   r|   r}   r(   r%   r‡   r¸   Ú_list_to_arraysr   ÚMappingÚ_list_of_dict_to_arraysr   Ú_list_of_series_to_arraysrî   ÚallrÏ   Úpd_arrayÚ_validate_or_indexify_columnsÚ_finalize_columns_and_data)rY   rJ   r9   rw   rI   r›   rM   r­   r®   rï   Ú
row_dtypesÚcommon_dtypeÚncolsÚcol_idxrL   Úcontents                   rO   rV   rV   ý  sM  € ô$ ˆ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�Ð&Ø—‘˜a’ä27¸¿
¹
À1¹Ó2FÖG¨3˜$šq #˜v›,ÐG�ÐGØ�?Ü+¨D¯J©J°q©MÓ:�GØ˜w�Ð&Ø”< Ó#Ð#Ð#ä	�Dœ"Ÿ*™*Ô	%¨$¯*©*×*:Ñ*:Ð*Fàˆ?Ü˜DŸJ™J×,Ñ,Ó-ˆGØ#*Ö+˜a�$�q“'Ð+ˆÐ+Ø�wˆÐä	�Dœ"Ÿ*™*Ô	%¨$¯)©)°qª.ô +0°·
±
¸1±Ó*>Ö? 3�$’q˜#�v“,Ð?ˆÐ?Øˆ?Ü# D§J¡J¨q¡MÓ2ˆGØ�wˆÐä�$�q‘'œD¤%˜=Ô)Ü˜dÓ#ŠÜ	�D˜‘GœSŸ[™[Ô	)Ü.¨t°WÓ=‰ˆŠWÜ	�D˜‘GœYÔ	'Ü0°°wÓ?‰ˆ‰Wð ,0ÖI C´7¸3ÀÕ3H�c—i“iÐIˆ
ÐIä�
‹O˜qÒ ÜÑ:°TÔ:Ô:Ü¨Ö. #”S˜•XÒ.Ó/°1Ò4à%Ÿ>™>Ó+ˆLÜ˜˜Q™“LˆEô  % U›|÷àô °$Ö7¨3˜#˜g›,Ò7¸|ÖLðˆFñ ô 4°F¸GÓDˆGØ˜7�?Ð"à"&Ö'˜Q”�a•Ð'ˆÐ'Ü˜dÓ#ˆä1°#°wÀÓFÑ€GˆWØ�GÐÐùòC :ùò Hùò ,ùò @ùò$ Jùò /ùò
 8ùóùò (sH   Á M,ÃM1Å*M6Æ?M;É*N É<N Ê5NË=NÌN
ÌNÌ9NÎ
Nc                óR  — | D �ch c]%  }t        |«      rt        |«      rdn
t        |«      ’Œ' }}t        |«      dkD  r$t        j                  dt
        t        «       ¬«       t        | d   t        «      rt        j                  | «      }|S t        j                  | «      }|S c c}w )Nr?   zðConstructing a DataFrame from a list of sequences with mismatched lengths is deprecated and will raise in a future version. The shorter sequences are currently padded with NaN; make all sequences the same length before constructing instead.)Ú
stacklevelr   )r   r   rC   ÚwarningsÚwarnr
   r   rD   r¸   r	   Úto_object_array_tuplesÚto_object_array)rY   rï   Úlengthsrý   s       rO   rñ   rñ   X  s›   € ð KOÖOÀ3”I˜c”N¤t¨C¤y‰q´c¸#³hÑ>ÐO€GÐOÜ
ˆ7ƒ|�aÒÜ�‰ðEô Ü'Ó)õ	
ô �$�q‘'œ5Ô!Ü×,Ñ,¨TÓ2ˆð €Nô ×%Ñ% dÓ+ˆØ€Nùò! Ps   …*B$c                óä  — |€6| D �cg c]  }t        |t        t        f«      sŒ|‘Œ }}t        |d¬«      \  }}i }g }| D ]’  }t	        |dd «      }|€t        t        |«      «      }t        |«      |v r|t        |«         }	n|j                  |«      x}	|t        |«      <   t        |d¬«      }
|j                  t        j                  |
|	«      «       Œ” t        j                  |«      }||fS c c}w )NFrÍ   rK   Tr=   )rD   r   r   r*   r{   r(   rC   ÚidrÚ   r!   rÃ   r   Útake_ndrE   Úvstack)rY   rJ   rL   Ú	pass_datarÕ   Úindexer_cacheÚaligned_valuesrá   rK   rÞ   r‘   rý   s               rO   rô   rô   r  sö   € ð €à $ÖQ˜1¬
°1´yÄ,Ð6OÕ(P’QÐQˆ	ÐQÜ+¨I¸EÔB‰
ˆ�à+-€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ÐÐùò) Rs
   ‡C-£C-c                ó\  — | D �cg c]   }t        |«      t        u r|n
t        |«      ‘Œ" } }|€Xd„ | D «       }t        d„ | D «       «       }t        j                  ||¬«      }t        |«      }t        j                  | |«      }||fS t        j                  | t        |«      «      }||fS c c}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
    c              3  óN   K  — | ]  }t        |j                  «       «      –— Œ y ­wrm   )r‡   r£   )ro   rL   s     rO   rq   z*_list_of_dict_to_arrays.<locals>.<genexpr>­  s   è ø€ Ò, !Œt�A—F‘F“H�~Ñ,ùs   ‚#%c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wrm   )rD   rÄ   )ro   Úds     rO   rq   z*_list_of_dict_to_arrays.<locals>.<genexpr>®  s   è ø€ Ò9¨q”z !¤T×*Ñ9ùs   ‚rÍ   )ÚtyperÄ   r‰   r	   Úfast_unique_multiple_list_genr)   Údicts_to_arrayr‡   )rY   rJ   r  ÚgenrÎ   Úpre_colsrý   s          rO   ró   ró   ‘  s±   € ð2 8<Ö<°!”�a“œD‘‰A¤d¨1£gÑ-Ð<€DÐ<à€Ù, tÔ,ˆÜÑ9°DÔ9Ó9Ð9ˆÜ×4Ñ4°S¸tÔDˆÜ˜xÓ(ˆô ×$Ñ$ T¨8Ó4ˆð �GÐÐô ×$Ñ$ T¬4°«=Ó9ˆà�GÐÐùò =s   …%B)c                óæ   — t        | j                  «      }	 t        ||«      }|r-|d   j
                  t        j                  k(  rt        ||¬«      }||fS # t        $ r}t	        |«      |‚d}~ww xY w)zG
    Ensure we have valid columns, cast object dtypes if possible.
    Nr   rR   )	r‡   r†   r÷   ÚAssertionErrorrH   r9   rE   Úobject_Úconvert_object_array)rý   rJ   r9   ÚcontentsÚerrs        rO   rø   rø   »  sq   € ô �G—I‘I‹€Hð'Ü/°¸'ÓBˆñ
 �H˜Q‘K×%Ñ%¬¯©Ò3Ü'¨¸Ô>ˆà�WÐÐøô ò 'ä˜‹o 3Ð&ûð'ús   —A Á	A0ÁA+Á+A0c                óª   — |€t        t        | «      «      }|S t        |«      t        | «      k7  r#t        t        |«      › dt        | «      › d�«      ‚|S )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
    ------
    AssertionError
        When the number of columns does not match the number of arrays in
        content.
    z! columns passed, passed data had z columns)r(   rC   r  )rý   rJ   s     rO   r÷   r÷   Ñ  s]   € ð. €Ü¤ G£Ó-ˆð €Nô 
ˆW‹œ˜W›Ò	%äÜ�7‹|ˆnÐ=¼cÀ'»l¸^È8ÐTó
ð 	
ð €Nr^   c                óN   ‡‡‡— ˆˆˆfd„}| D �cg c]
  } ||«      ‘Œ }}|S c c}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           	     ó  •— ‰t        j                  d«      k7  �rn‰dk7  xs t        ‰t        «      }t	        j
                  | ‰|¬«      } ‰€í| j                  t        j                  d«      k(  r…‰dk7  }t	        j
                  | dd|t        j                  d«      ¬«      } |r•| j                  t        j                  d«      k(  rst        «       }|j                  «       }|j                  | |¬«      } | S ‰dk7  r?t        | t         j                  «      r%| j                  j                  d	v rt        | d¬
«      } | S t        ‰t        «      r&‰j                  «       }|j                  | ‰d¬«      } | S ‰j                  dv rt        | ‰«      } | S )Nr¾   Únumpy)Ú	try_floatrj   FTrf   rg   rR   Úiufbrd   r    ÚmM)rE   r9   rD   r   r	   rˆ   r   r�   r�   rF   r�   rö   r   r   )	rM   Úto_nullablerj   Ú	new_dtypeÚarr_clsÚclsÚcoerce_floatr9   Údtype_backends	         €€€rO   rº   z%convert_object_array.<locals>.convert  sr  ø€ Ø”B—H‘H˜S“MÓ!ð (¨7Ñ2ÒX´jÀÌÓ6XˆKÜ×+Ñ+ØØ&Ø*5ôˆCð ˆ}Ø—9‘9¤§¡¨£Ò-à0=ÀÑ0HÐ-Ü×3Ñ3Øð ).Ø,0Ø2KÜ)+¯©°'Ó):ô�Cñ 1°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^   rn   )rý   r9   r'  r&  rº   rM   rI   s    ```   rO   r  r  ò  s,   ú€ ö,4ðl '.Ö.˜s‰g�c�lÐ.€FÐ.à€Mùò /s   �")
rJ   r%   r9   úDtypeObj | Noner:   Úboolr;   r)  Úreturnr7   )rY   znp.rec.recarray | np.ndarrayr9   r(  rX   r)  r*  r7   )r9   r(  rX   r)  r*  r7   )r‘   ú
np.ndarrayrK   r%   rJ   r%   r*  ÚNone)rY   rÄ   r9   r(  rX   r)  r*  r7   )
rY   r4   rJ   úIndex | NonerK   r-  r9   r(  r*  z$tuple[list[ArrayLike], Index, Index])r*  r)  )T)rX   r)  r*  r+  )r‘   r+  r*  r+  )rK   r%   r9   r(  r*  z!tuple[list[ArrayLike], list[Any]])r*  r%   )
rI   úlist[ArrayLike]r[   r%   rJ   r-  rÜ   Úintr*  útuple[list[ArrayLike], Index])
rå   r/  ræ   r/  rK   r-  rJ   r-  r*  ztuple[Index, Index]rm   )rJ   r-  r9   r(  r*  r0  )rY   zlist[tuple | list]r*  r+  )rY   r‡   rJ   r-  r*  útuple[np.ndarray, Index])rY   z
list[dict]rJ   r-  r*  r1  )rý   r+  rJ   r-  r9   r(  r*  r0  )rý   zlist[np.ndarray]rJ   r-  r*  r%   )r  F)
rý   zlist[npt.NDArray[np.object_]]r9   r(  r'  Ústrr&  r)  r*  r.  )hÚ__doc__Ú
__future__r   Úcollectionsr   Útypingr   r   r   r  rE   r   Úpandas._configr   Úpandas._libsr	   Úpandas.errorsr
   Úpandas.util._exceptionsr   Úpandas.core.dtypes.astyper   Úpandas.core.dtypes.castr   r   r   r   Úpandas.core.dtypes.commonr   r   r   r   r   r   Úpandas.core.dtypes.dtypesr   r   Úpandas.core.dtypes.genericr   r   Úpandas.core.dtypes.missingr   Úpandas.corer   r   r§   Úpandas.core.arraysr   Úpandas.core.arrays.string_r   Úpandas.core.constructionr    rö   r!   r"   r#   Úpandas.core.indexes.apir$   r%   r&   r'   r(   r)   r*   r+   r,   Úpandas.core.internals.blocksr-   r.   r/   r0   Úpandas.core.internals.managersr1   r2   Úcollections.abcr3   r4   Úpandas._typingr5   r6   r7   r8   rP   r]   rœ   r…   r¯   r³   rµ   rƒ   r�   rB   rA   rW   r²   r„   rë   rV   rñ   rô   ró   rø   r÷   r  rn   r^   rO   ú<module>rJ     sS  ðñõ
 #å ÷ó ã Ý å -å Ý (Ý 4å 4÷ó ÷÷ ÷÷õ ,÷õ .Ý 2÷ó ÷
÷ 
õ 
÷ó ÷ñ
 ÷÷
ó ð "Ø!Øñ8àð8ð
 ð8ð ð8ð ð8ð ó8ðvØ
&ðð ð	ð
 ðð óðLaØ#2ðaØ:>ðaàóaðHYØðYØ$ðYØ/4ðYà	óYð. "ØñUPØ
ðUPð
 ðUPð ðUPð óUPðp"Ø
ð"àð"ð ð"ð ð	"ð
 *ó"ó4	ô&óRð1Øð1Ø.ð1à&ó1óh7ðtØðØ*/ðØ:FðØPSðà"óó6ð$Ø
ðØðØ'ðØ2>ðàóò$#ðD ;?ðXØðXØ(7ðXà"óXóvð4Ø
ðàðð óð>'Ø
ð'àð'ð ó'ðTØðàðð ðð #ó	ð,ØðØ(4ðà
óðH !Øð	NØ*ðNàðNð ðNð ð	Nð
 ôNr^   