§
    Ñ! hÃ„  ã                  ól  — 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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mZ ddlmZmZmZmZmZ ddl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) ddl*m+Z,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 ddl9m:Z:m;Z; ddl<m=Z=m>Z>m?Z?m@Z@ ddlAmBZBmCZCmDZDmEZE erddlFmGZGmHZH ddlImJZJmKZKmLZLmMZM dddddœd_d%„ZNd`d*„ZOdadbd+„ZPdcd,„ZQddd1„ZRdd2dd3œded5„ZSdfd9„ZTdgd:„ZUdadhd;„ZVdid<„ZWdjd>„ZXdkd?„ZYdldF„ZZdkdG„Z[dmdK„Z\dL„ Z]	 dndodM„Z^dpdO„Z_dqdR„Z`drdT„ZadsdV„ZbdtdX„Zc	 	 dudvd^„ZddS )wz~
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_pyarrow_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ÚconsolidateÚcolumnsr"   r8   úDtypeObj | Noner9   Úboolr:   ú
str | Noner;   Úreturnr6   c               óš  — |r6|€t          | ¦  «        }nt          |¦  «        }t          | ||¦  «        \  } }nŽt          |¦  «        }d„ | D ¦   «         } dgt          | ¦  «        z  }| D ]]}t	          |t
          j        t          f¦  «        r+|j        dk    s t          |¦  «        t          |¦  «        k    rt          d¦  «        ‚Œ^t          |¦  «        }t          |¦  «        t          | ¦  «        k    rt          d¦  «        ‚||g}	|dk    rt          | |	||¬¦  «        S |dk    rt          | ||g¦  «        S t          d	|› d
�¦  «        ‚)zs
    Segregate Series based on type and coerce into matrices.

    Needs to handle a lot of exceptional cases.
    Nc                ó0   — g | ]}t          |d ¬¦  «        ‘ŒS )T©Úextract_numpy)r   ©Ú.0Úxs     ú\c:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/internals/construction.pyú
<listcomp>z!arrays_to_mgr.<locals>.<listcomp>€   s%   € ÐGÐGÐG¸1•- °Ð6Ñ6Ô6ÐGÐGÐGó    é   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%   Ú_homogenizeÚlenÚ
isinstanceÚnpÚndarrayr   ÚndimÚ
ValueErrorr1   r(   )
Úarraysr<   Úindexr8   r9   r:   r;   rM   ÚarrÚaxess
             rH   Úarrays_to_mgrr\   `   s‡  € ð ð àˆ=Ý" 6Ñ*Ô*ˆEˆEå  Ñ'Ô'ˆEõ # 6¨5°%Ñ8Ô8‰ˆ��õ ˜UÑ#Ô#ˆØGÐGÀÐGÑGÔGˆàˆv�˜F™œÑ#ˆð ð 		ð 		ˆCå˜s¥R¤ZµÐ$@ÑAÔAðà”8˜q’=�=Ý�s‘8”8�s 5™zœzÒ)Ð)å ð6ñô ð ð *õ ˜7Ñ#Ô#€GÝ
ˆ7�|„|•s˜6‘{”{Ò"Ð"ÝÐ>Ñ?Ô?Ð?ð �UÐ€Dà
ˆg‚~€~Ý6Ø�D k¸ð
ñ 
ô 
ð 	
ð 
�ŠˆÝ˜F U¨GÐ$4Ñ5Ô5Ð5åÐVÐPSÐVÐVÐVÑWÔWÐWrJ   Údataúnp.rec.recarray | np.ndarrayÚcopyÚstrc                ór  — t          j        | ¦  «        }|€t          t          |¦  «        ¦  «        }nt	          |¦  «        }|�t	          |¦  «        }t          ||¦  «        \  }}t          |||t          |¦  «        ¦  «        \  }}|€|}t          |||||¬¦  «        }	|r|	                     ¦   «         }	|	S )zA
    Extract from a masked rec array and create the manager.
    N©r8   r:   )	r   Úgetdatar$   rR   r%   Ú	to_arraysÚreorder_arraysr\   r_   )
r]   rY   r<   r8   r_   r:   ÚfdatarX   Úarr_columnsÚmgrs
             rH   Úrec_array_to_mgrri   ¡   s½   € õ ŒJ�tÑÔ€EØ€}Ý�c %™jœjÑ)Ô)ˆˆå˜UÑ#Ô#ˆàÐÝ˜wÑ'Ô'ˆÝ# E¨7Ñ3Ô3Ñ€FˆKõ )¨°¸gÅsÈ5ÁzÄzÑRÔRÑ€FˆKØ€Øˆå
˜ ¨°eÀÐ
EÑ
EÔ
E€Càð Ø�hŠh‰jŒjˆØ€JrJ   c                óØ  ‡ — |dk    rzt          ‰ t          ¦  «        r‰ }�nI‰ j        dk    r0t          ‰ j        ‰ j        d         ‰ j        d         d¬¦  «        }�nt          j        ‰ j        d         ‰ j        ¦  «        }nè|dk    rÏt          ‰ t          ¦  «        r‰ }nÊ‰ j        dk    rjˆ fd„t          t          ‰ j        d         ¦  «        ¦  «        D ¦   «         }|rd„ |D ¦   «         }t          |‰ j        d         ‰ j        d         g¦  «        }nU‰                      ¦   «         }|r|                     ¦   «         }t          |g‰ j        g¦  «        }nt          d	|› d
�¦  «        ‚|S )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.
    rL   é   r   rK   )r:   r   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS © )Úiget_values)rF   Úirh   s     €rH   rI   zmgr_to_mgr.<locals>.<listcomp>Û   s%   ø€ ÐNÐNÐN°˜#Ÿ/š/¨!Ñ,Ô,ÐNÐNÐNrJ   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rm   ©r_   ©rF   rZ   s     rH   rI   zmgr_to_mgr.<locals>.<listcomp>Ý   s    € Ð;Ð;Ð;¨S˜cŸhšh™jœjÐ;Ð;Ð;rJ   rN   rO   )rS   r.   rV   r\   rX   r[   r/   Ú
from_arrayrY   r(   ÚrangerR   Úinternal_valuesr_   r)   rW   )rh   r:   r_   Únew_mgrrX   r   s   `     rH   Ú
mgr_to_mgrrw   Ä   su  ø€ ð ˆg‚~€~Ý�c�<Ñ(Ô(ð 	RØˆG‰GàŒx˜1Š}ˆ}Ý'Ø”J ¤¨¤¨S¬X°a¬[¸gðñ ô �‘õ -Ô7¸¼
À1¼ÀsÄyÑQÔQ��Ø	�ŠˆÝ�c�<Ñ(Ô(ð 	CØˆGˆGàŒx˜1Š}ˆ}ØNÐNÐNÐNµe½CÀÄÈÄÑ<LÔ<LÑ6MÔ6MÐNÑNÔN�Øð <Ø;Ð;°FÐ;Ñ;Ô;�FÝ& v°´¸´¸S¼XÀa¼[Ð/IÑJÔJ��à×+Ò+Ñ-Ô-�Øð )Ø!ŸJšJ™LœL�EÝ,¨e¨W°s´y°kÑBÔB��åÐVÐPSÐVÐVÐVÑWÔWÐWØ€NrJ   c                ó$  ‡ ‡‡— t          ‰ t          ¦  «        rx|€‰ j        �t          ‰ j        g¦  «        }|€‰ j        }n‰                      |¦  «        Š t          ‰ ¦  «        s,|�*t          |¦  «        rt          j        dt          ¬¦  «        Š |dk    rdn|}t          ‰ dd ¦  «        }d }t          |¦  «        st          ‰¦  «        r¥t          ‰ t          j        t          f¦  «        r2‰ j        dk    r'ˆ fd„t          ‰ j        d         ¦  «        D ¦   «         Š n‰ gŠ |€*t          t          t          ‰ ¦  «        ¦  «        ¦  «        }nt#          |¦  «        }t%          ‰ ||‰|¬¦  «        S t          |t&          ¦  «        rIt)          ‰ d	¬
¦  «        Š |r‰                      ¦   «         Š ‰ j        dk    r‰                      dd¦  «        Š nât          ‰ t          t          f¦  «        rS|s‰�t/          ‰ j        ‰¦  «        r‰ j        }|r‰ j                             ¦   «         Š n‰ j        Š t7          ‰ ¦  «        Š nst          ‰ t          j        t          f¦  «        rA‰�t/          ‰ j        ‰¦  «        r|nd}	t          j        ‰ |	¬¦  «        Š t7          ‰ ¦  «        Š nt;          ‰ |¬¦  «        Š ‰�‰ j        ‰k    rt=          ‰ d ‰|d	¬¦  «        Š t?          ‰ j        d         ‰ j        d         ||¬¦  «        \  }}tA          ‰ ||¦  «         |dk    rètC          ‰ j        j"        tF          ¦  «        rt          j        ‰ t          ¬¦  «        Š ‰€;tI          ‰ j        ¦  «        r'ˆ fd„t          ‰ j        d         ¦  «        D ¦   «         }
nOtK          j&        ‰ j        d¦  «        rtO          ‰ ¦  «        Š ˆ fd„t          ‰ j        d         ¦  «        D ¦   «         }
|rd„ |
D ¦   «         }
tQ          |
||gd¬¦  «        S ‰ j)        Š ‰€ÊtI          ‰ j        ¦  «        r¶tU          ‰ ¦  «        }d„ |D ¦   «         }tW          d„ tY          ||¦  «        D ¦   «         ¦  «        r5d„ |D ¦   «         Šˆfd„t          t          ‰¦  «        ¦  «        D ¦   «         }nØt[          t]          t          |¦  «        ¦  «        ¦  «        }t_          ‰ ||¬¦  «        }|g}n™‰€Y‰ j        j0        dk    rItc          ¦   «         r;te          d¬¦  «        ŠtU          ‰ ¦  «        }ˆfd„tg          |¦  «        D ¦   «         }n>t[          t]          t          |¦  «        ¦  «        ¦  «        }t_          ‰ ||¬¦  «        }|g}t          |¦  «        dk    rg }ti          |||gd¬¦  «        S )N)r   rK   ©r8   r   Fr8   rK   c                ó(   •— g | ]}‰d d …|f         ‘ŒS ©Nrm   )rF   ÚnÚvaluess     €rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>  s5   ø€ ð ð ð àð �q�q�q˜!�t”ðð ð rJ   rb   TrC   éÿÿÿÿrq   )r8   r_   Úallow_2dr   )rY   r<   c           	     ó\   •— g | ](}t          t          ‰d d …|f         ¦  «        ¦  «        ‘Œ)S r{   )r   r   ©rF   ro   r}   s     €rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>W  sL   ø€ ð ð ð ð õ /Ý/°°q°q°q¸!°t´Ñ=Ô=ñô ðð ð rJ   ÚmMc                ó(   •— g | ]}‰d d …|f         ‘ŒS r{   rm   r�   s     €rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>`  s%   ø€ ÐCÐCÐC q�f˜Q˜Q˜Q ˜T”lÐCÐCÐCrJ   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rm   rq   rr   s     rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>c  s    € Ð3Ð3Ð3 S�c—h’h‘j”jÐ3Ð3Ð3rJ   )r9   c                ó,   — g | ]}t          |¦  «        ‘ŒS rm   )r   rE   s     rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>n  s!   € ÐNÐNÐN¸QÕ5°aÑ8Ô8ÐNÐNÐNrJ   c              3  ó$   K  — | ]\  }}||uV — Œd S r{   rm   )rF   rG   Úys      rH   ú	<genexpr>z!ndarray_to_mgr.<locals>.<genexpr>p  s*   è è € ÐGÐG™d˜a ˆq˜ˆzÐGÐGÐGÐGÐGÐGrJ   c                ó.   — g | ]}t          |d ¦  «        ‘ŒS )rk   )r+   )rF   Údvals     rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>q  s#   € ÐQÐQÐQ¸$Õ,¨T°1Ñ5Ô5ÐQÐQÐQrJ   c                óX   •— g | ]&}t          ‰|         t          |¦  «        ¬ ¦  «        ‘Œ'S ))Ú	placement)r-   r*   )rF   r|   Ú
dvals_lists     €rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>r  sB   ø€ ð ð ð àõ ˜Z¨œ]µnÀQÑ6GÔ6GÐHÑHÔHðð ð rJ   )rŒ   rM   ÚUÚpyarrow_numpy)Ústoragec                óÄ   •— g | ]\\  }}t          ‰                     ¦   «                              |‰¬ ¦  «        t          t	          ||dz   ¦  «        ¦  «        d¬¦  «        ‘Œ]S )ry   rK   rk   )rV   )r,   Úconstruct_array_typeÚ_from_sequencer*   Úslice)rF   ro   r]   r8   s      €rH   rI   z"ndarray_to_mgr.<locals>.<listcomp>~  sz   ø€ ð 
ð 
ð 
ñ ��4õ Ø×*Ò*Ñ,Ô,×;Ò;¸DÈÐ;ÑNÔNÝ�u Q¨¨A©™œÑ/Ô/Øðñ ô ð
ð 
ð 
rJ   )5rS   r   Únamer"   rY   ÚreindexrR   rT   ÚemptyÚobjectÚgetattrr   rU   r   rV   rt   Úshaper%   r\   r   r   r_   Úreshaper
   r8   Ú_referencesÚ_valuesÚ
_ensure_2dr   Ú_prep_ndarrayliker    Ú	_get_axesÚ!_check_values_indices_shape_matchÚ
issubclassÚtyper`   r   r	   Úis_np_dtyper   r(   ÚTÚlistÚanyÚzipr*   r”   r-   Úkindr   r   Ú	enumerater0   )r}   rY   r<   r8   r_   r:   Úcopy_on_sanitizeÚvdtyperM   Ú_copyrX   Úobj_columnsÚmaybe_datetimeÚblock_valuesÚbpÚnbr�   s   `  `            @rH   Úndarray_to_mgrr³   í   s  øøø€ õ �&�)Ñ$Ô$ð 4Øˆ?ØŒ{Ð&Ý ¤ Ñ.Ô.�Øˆ=Ø”LˆEˆEà—^’^ EÑ*Ô*ˆFõ �6‰{Œ{ð 	4˜wÐ2µs¸7±|´|Ð2Ý”X˜f­FÐ3Ñ3Ô3ˆFð !$ w¢ �u�u°DÐå�V˜W dÑ+Ô+€FØ€DÝ˜6Ñ"Ô"ð 9BÕ&9¸%Ñ&@Ô&@ð 9Bõ �f�rœz­>Ð:Ñ;Ô;ð 
	ÀÄÈaÂÀð
ð ð ð å˜vœ|¨AœÑ/Ô/ðñ ô ˆFˆFð
 �XˆFàˆ?Ý�E¥# f¡+¤+Ñ.Ô.Ñ/Ô/ˆGˆGå" 7Ñ+Ô+ˆGå˜V W¨e¸5ÀcÐJÑJÔJÐJå	�F�NÑ	+Ô	+ð #Bõ ˜v°TÐ:Ñ:Ô:ˆØð 	#Ø—[’[‘]”]ˆFØŒ;˜!ÒÐØ—^’^ B¨Ñ*Ô*ˆFøå	�F�Y­Ð.Ñ	/Ô	/ð BØð 	&ØˆM�^¨F¬L¸%Ñ@Ô@ˆMàÔ%ˆDàð 	$Ø”^×(Ò(Ñ*Ô*ˆFˆFà”^ˆFå˜FÑ#Ô#ˆˆå	�F�RœZ­Ð8Ñ	9Ô	9ð Bð �¥°´¸eÑ!DÔ!D�ð Ðàð 	õ
 ”˜& uÐ-Ñ-Ô-ˆÝ˜FÑ#Ô#ˆˆõ
 # 6Ð0@ÐAÑAÔAˆàÐ˜Vœ\¨UÒ2Ð2åØØØØ!Øð
ñ 
ô 
ˆõ ØŒ�QŒ˜œ aœ°¸wðñ ô �N€Eˆ7õ & f¨e°WÑ=Ô=Ð=à
ˆg‚~€~Ý�f”lÔ'­Ñ-Ô-ð 	4Ý”X˜f­FÐ3Ñ3Ô3ˆFàˆ=�_¨V¬\Ñ:Ô:ˆ=ðð ð ð õ ˜vœ|¨AœÑ/Ô/ð	ñ ô ˆFˆFõ Œ˜vœ|¨TÑ2Ô2ð @Ý7¸Ñ?Ô?�ØCÐCÐCÐC­E°&´,¸q´/Ñ,BÔ,BÐCÑCÔCˆFàð 	4Ø3Ð3¨FÐ3Ñ3Ô3ˆFå˜F U¨GÐ$4ÀuÐMÑMÔMÐMàŒX€Fð
 €}�¨¬Ñ6Ô6€}Ý˜6‘l”lˆØNÐNÀ+ÐNÑNÔNˆåÐGÐG¥c¨+°~Ñ&FÔ&FÐGÑGÔGÑGÔGð 		 ØQÐQÀ.ÐQÑQÔQˆJðð ð ð å�s :™œÑ/Ô/ðñ ô ˆLˆLõ
  ¥¥c¨'¡l¤lÑ 3Ô 3Ñ4Ô4ˆBÝ˜f°¸Ð>Ñ>Ô>ˆBØ˜4ˆLˆLØ	ˆ˜6œ<Ô,°Ò3Ð3Õ8RÑ8TÔ8TÐ3Ý OÐ4Ñ4Ô4ˆå˜6‘l”lˆð
ð 
ð 
ð 
õ % [Ñ1Ô1ð
ñ 
ô 
ˆˆõ �E¥# g¡,¤,Ñ/Ô/Ñ0Ô0ˆÝ˜&¨B°TÐ:Ñ:Ô:ˆØ�tˆå
ˆ7�|„|�qÒÐàˆå+Ø�w Ð&¸ðñ ô ð rJ   r}   ú
np.ndarrayrY   ÚNonec                ó`  — | j         d         t          |¦  «        k    s| j         d         t          |¦  «        k    rq| j         d         dcxk    rt          |¦  «        k     rn nt          d¦  «        ‚| j         }t          |¦  «        t          |¦  «        f}t          d|› d|› �¦  «        ‚dS )z\
    Check that the shape implied by our axes matches the actual shape of the
    data.
    rK   r   z)Empty data passed with indices specified.zShape of passed values is z, indices imply N)rš   rR   rW   )r}   rY   r<   ÚpassedÚimplieds        rH   r¡   r¡   •  sµ   € ð „|�A„�#˜g™,œ,Ò&Ð&¨&¬,°q¬/½SÀ¹Z¼ZÒ*GÐ*Gð Œ<˜Œ?˜aÐ,Ð,Ò,Ð,¥# e¡*¤*Ò,Ð,Ð,Ð,Ð,ÝÐHÑIÔIÐIà”ˆÝ�u‘:”:�s 7™|œ|Ð,ˆÝÐW°fÐWÐWÈgÐWÐWÑXÔXÐXð +HÐ*GrJ   rL   )r8   r:   r_   Údictc               óÜ  ‡ ‡— |��cddl m}  |‰ |t          ¬¦  «        }|                     ¦   «         }|€t	          ||          ¦  «        }nt          |¦  «        }|                     ¦   «         rÛt          |¦  «        sÌ|�L|j         	                    ¦   «         d         }	|	D ])}
t          |j        |
         ||¬¦  «        }||j        |
<   Œ*n~t          j        d¦  «        }t          t          j        t!          |¦  «        |¦  «        Š|                     ¦   «         }|r‰g|z  }nˆfd„t%          |¦  «        D ¦   «         }||j        |<   t)          |¦  «        }t          |¦  «        }nOt)          ‰                      ¦   «         ¦  «        }|rt-          |¦  «        nt/          d¦  «        }ˆ fd„|D ¦   «         }|r|d	k    rd
„ |D ¦   «         }nd„ |D ¦   «         }t1          ||||||¬¦  «        S )z’
    Segregate Series based on type and coerce into matrices.
    Needs to handle a lot of exceptional cases.

    Used in DataFrame.__init__
    Nr   )ÚSeries)rY   r8   ry   r˜   c                ó8   •— g | ]}‰                      ¦   «         ‘ŒS rm   rq   )rF   Ú_Úvals     €rH   rI   zdict_to_mgr.<locals>.<listcomp>Ø  s!   ø€ Ð?Ð?Ð?¨!˜3Ÿ8š8™:œ:Ð?Ð?Ð?rJ   c                óD   •— g | ]}t          j        ‰|         ¦  «        ‘ŒS rm   )ÚcomÚmaybe_iterable_to_list©rF   Úkr]   s     €rH   rI   zdict_to_mgr.<locals>.<listcomp>á  s(   ø€ ÐDÐDÐD¸!•#Ô,¨T°!¬WÑ5Ô5ÐDÐDÐDrJ   rL   c                ó  — g | ]�}t          |t          ¦  «        r|                     ¦   «         nUt          |t          ¦  «        s)t          |t          ¦  «        r*t          |j        ¦  «        r|                     d ¬¦  «        n|‘Œ‚S )T)Údeep)rS   r   r_   r"   r   r   r8   rE   s     rH   rI   zdict_to_mgr.<locals>.<listcomp>ç  s™   € ð ð ð ð õ ˜a¥Ñ0Ô0ð�—’‘”�õ ˜q¥%Ñ(Ô(ðõ " !¥YÑ/Ô/ðõ ,¨A¬GÑ4Ô4ð	�Q—V’V �VÑ&Ô&Ð&ð ðð ð rJ   c                óZ   — g | ](}t          |d ¦  «        r|                     ¦   «         n|‘Œ)S ry   )Úhasattrr_   rE   s     rH   rI   zdict_to_mgr.<locals>.<listcomp>õ  s3   € ÐMÐMÐMÀ¥'¨!¨WÑ"5Ô"5Ð<�a—f’f‘h”h�h¸1ÐMÐMÐMrJ   )r8   r:   r;   )Úpandas.core.seriesr»   r˜   ÚisnarP   r%   r§   r   r}   Únonzeror    ÚiatrT   r8   r   ÚnanrR   Úsumrt   Úlocr¦   Úkeysr"   r$   r\   )r]   rY   r<   r8   r:   r_   r»   rX   ÚmissingÚmidxsro   rZ   Ú	nan_dtypeÚnmissingÚrhsrÏ   r¾   s   `               @rH   Údict_to_mgrrÕ   §  s2  øø€ ð" ÑØ-Ð-Ð-Ð-Ð-Ð-à�˜ Gµ6Ð:Ñ:Ô:ˆØ—+’+‘-”-ˆØˆ=õ # 6¨7¨(Ô#3Ñ4Ô4ˆEˆEå  Ñ'Ô'ˆEð �;Š;‰=Œ=ð 	*Õ!1°%Ñ!8Ô!8ð 	*ð Ð ð  œ×.Ò.Ñ0Ô0°Ô3�Øð (ð (�AÝ(¨¬°A¬¸ÀUÐKÑKÔK�CØ$'�F”J˜q‘M�Mð(õ
 œH XÑ.Ô.�	Ý8½¼ÅÀUÁÄÈYÑWÔW�Ø"Ÿ;š;™=œ=�Øð @Ø˜% (Ñ*�C�Cð @Ð?Ð?Ð?­u°X©¬Ð?Ñ?Ô?�CØ&)�”
˜7Ñ#å�f‘”ˆÝ˜wÑ'Ô'ˆˆõ �D—I’I‘K”KÑ Ô ˆØ!%Ð;•%˜‘+”+�+­=¸Ñ+;Ô+;ˆØDÐDÐDÐD¸tÐDÑDÔDˆàð NØ�'Š>ˆ>ðð ð  ðñ ô ˆFˆFð NÐMÀfÐMÑMÔMˆFå˜ ¨%°uÀ#ÐSWÐXÑXÔXÐXrJ   r3   úIndex | Noneú$tuple[list[ArrayLike], Index, Index]c                óH  — t          | d         ¦  «        r|€t          | d         j        ¦  «        }t          | ||¬¦  «        \  }}t          |¦  «        }|€Gt	          | d         t
          ¦  «        rt          | ¦  «        }nt          t          | ¦  «        ¦  «        }|||fS )zA
    Convert a single sequence of arrays to multiple arrays.
    r   Nry   )	r   r%   Ú_fieldsrd   rS   r   Ú_get_names_from_indexr$   rR   )r]   r<   rY   r8   rX   s        rH   Únested_data_to_arraysrÛ   ú  sž   € õ �d˜1”gÑÔð 0 7 ?Ý˜t AœwœÑ/Ô/ˆå  g°UÐ;Ñ;Ô;�O€FˆGÝ˜7Ñ#Ô#€Gà€}Ý�d˜1”g�yÑ)Ô)ð 	-Ý)¨$Ñ/Ô/ˆEˆEå!¥# d¡)¤)Ñ,Ô,ˆEà�7˜EÐ!Ð!rJ   c                óÊ   — t          | ¦  «        dk    oPt          | d         ¦  «        o;t          | d         dd¦  «        dk    o t          | t          ¦  «        o
| j        dk     S )z7
    Check if we should use nested_data_to_arrays.
    r   rV   rK   rk   )rR   r   r™   rS   r   rV   )r]   s    rH   Útreat_as_nestedrÝ     sl   € õ
 	ˆD‰	Œ	�AŠð 	FÝ˜˜aœÑ!Ô!ð	Få�D˜”G˜V QÑ'Ô'¨1Ò,ð	Fõ ˜D¥.Ñ1Ô1ÐD°d´iÀ1²nÐEð	rJ   c                ó  ‡— t          | ¦  «        dk    rt          j        dt          ¬¦  «        S t	          | t
          ¦  «        r#t          | ¦  «        }|dt          j        f         S d„ Št          | d         ¦  «        r!t          j	        ˆfd„| D ¦   «         ¦  «        } n]t	          | d         t          j
        ¦  «        r2| d         j        dk    r!t          j	        ˆfd„| D ¦   «         ¦  «        } n ‰| ¦  «        } t          | ¦  «        S )Nr   )r   r   ry   .c                ó’   — t          | ¦  «        rt          | t          ¦  «        r| S t          | d¬¦  «        } t	          | ¦  «        }|S )NTrC   )r   rS   r   r   r   )ÚvÚress     rH   Úconvertz"_prep_ndarraylike.<locals>.convert/  sL   € Ý˜A‰Œð 	¥*¨QµÑ"=Ô"=ð 	ØˆHå˜!¨4Ð0Ñ0Ô0ˆÝ$ QÑ'Ô'ˆð ˆ
rJ   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS rm   rm   ©rF   rà   râ   s     €rH   rI   z%_prep_ndarraylike.<locals>.<listcomp>?  ó!   ø€ Ð6Ð6Ð6¨!˜7˜7 1™:œ:Ð6Ð6Ð6rJ   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS rm   rm   rä   s     €rH   rI   z%_prep_ndarraylike.<locals>.<listcomp>B  rå   rJ   )rR   rT   r—   r˜   rS   rt   r   Únewaxisr   r   rU   rV   rž   )r}   r_   rZ   râ   s      @rH   rŸ   rŸ   #  s  ø€ õ ˆ6�{„{�aÒÐõ Œx˜¥fÐ-Ñ-Ô-Ð-Ý	�F�EÑ	"Ô	"ð $Ý˜vÑ&Ô&ˆØ�3�œ
�?Ô#Ð#ðð ð õ �F˜1”IÑÔð !Ý”Ð6Ð6Ð6Ð6¨vÐ6Ñ6Ô6Ñ7Ô7ˆˆÝ	�F˜1”I�rœzÑ	*Ô	*ð !¨v°a¬y¬~ÀÒ/BÐ/Bå”Ð6Ð6Ð6Ð6¨vÐ6Ñ6Ô6Ñ7Ô7ˆˆà�˜‘”ˆå�fÑÔÐrJ   c                ó¦   — | j         dk    r#|                      | j        d         df¦  «        } n"| j         dk    rt          d| j        › �¦  «        ‚| S )zB
    Reshape 1D values, raise on anything else other than 2D.
    rK   r   rk   zMust pass 2-d input. shape=)rV   r›   rš   rW   )r}   s    rH   rž   rž   I  sZ   € ð „{�aÒÐØ—’ ¤¨a¤°!Ð 4Ñ5Ô5ˆˆØ	Œ˜Ò	Ð	ÝÐE°v´|ÐEÐEÑFÔFÐFØ€MrJ   ú!tuple[list[ArrayLike], list[Any]]c                óú  — d }g }g }| D �]n}t          |t          t          f¦  «        rp|�|                     |d¬¦  «        }t          |t          ¦  «        r |j        |ur|                     |d¬¦  «        }|                     |j        ¦  «         |j        }nÊt          |t          ¦  «        rx|€|                     d¦  «        }t          |t          t          f¦  «        rt          |¦  «        }nt          |¦  «        }t          j        ||j        t          j        ¬¦  «        }t#          |||d¬¦  «        }t%          j        ||¦  «         |                     d ¦  «         |                     |¦  «         �Œp||fS )NFrq   ÚO)Údefault©r8   r_   )rS   r   r"   ÚastyperY   r–   Úappendrœ   r�   r¹   r!   r#   r   r	   Úfast_multigetrT   rÌ   r    rÀ   Úrequire_length_match)r]   rY   r8   ÚoindexÚhomogenizedrM   r¾   s          rH   rQ   rQ   T  s|  € ð €FØ€Kà€Dàð  ñ  ˆÝ�c�I¥uÐ-Ñ.Ô.ð 	ØÐ Ø—j’j ¨U�jÑ3Ô3�Ý˜#�yÑ)Ô)ð 5¨c¬i¸uÐ.DÐ.Dð —k’k %¨e�kÑ4Ô4�Ø�KŠK˜œÑ(Ô(Ð(Ø”+ˆCˆCå˜#�tÑ$Ô$ð Mð �>Ø"Ÿ\š\¨#Ñ.Ô.�Få˜e¥mµ^Ð%DÑEÔEð $å% cÑ*Ô*�C�Cõ ˜s™)œ)�CÝÔ'¨¨V¬^ÅRÄVÐLÑLÔL�å   e°5¸uÐEÑEÔEˆCÝÔ$ S¨%Ñ0Ô0Ð0Ø�KŠK˜ÑÔÐà×Ò˜3ÑÔÐÑà˜ÐÐrJ   c                ó@  — t          | ¦  «        dk    rt          d¦  «        S g }g }d}d}d}| D ]ý}t          |t          ¦  «        rd}|                     |j        ¦  «         Œ4t          |t          ¦  «        r7d}|                     t          |                     ¦   «         ¦  «        ¦  «         Œ€t          |¦  «        r:t          |dd¦  «        dk    r%d}|                     t          |¦  «        ¦  «         ŒÉt          |t          j        ¦  «        r|j        dk    rt          d¦  «        ‚Œþ|s|st          d¦  «        ‚|rt          |¦  «        }n|rt          |d¬¦  «        }|rªt          t!          |¦  «        ¦  «        }t          |¦  «        dk    rt          d	¦  «        ‚|rt          d
¦  «        ‚|rD|d         t          |¦  «        k    r*d|d         › dt          |¦  «        › �}	t          |	¦  «        ‚nt          |d         ¦  «        }t#          |¦  «        S )zR
    Try to infer an Index from the passed data, raise ValueError on failure.
    r   FTrV   rK   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 )rR   r$   rS   r   rï   rY   r¹   r¦   rÏ   r   r™   rT   rU   rV   rW   r'   Úsetr%   )
r]   Úraw_lengthsÚindexesÚhave_raw_arraysÚhave_seriesÚ
have_dictsr¾   rY   ÚlengthsÚmsgs
             rH   rP   rP   ~  sZ  € õ
 ˆ4�y„y�A‚~€~Ý˜QÑÔÐà€KØ,.€Gà€OØ€KØ€Jàð Mð MˆÝ�c�9Ñ%Ô%ð 
	MØˆKØ�NŠN˜3œ9Ñ%Ô%Ð%Ð%Ý˜�TÑ"Ô"ð 	MØˆJØ�NŠN�4 §¢¡
¤
Ñ+Ô+Ñ,Ô,Ð,Ð,Ý˜#ÑÔð 	M¥7¨3°¸Ñ#:Ô#:¸aÒ#?Ð#?Ø"ˆOØ×Ò�s 3™xœxÑ(Ô(Ð(Ð(Ý˜�RœZÑ(Ô(ð 	M¨S¬X¸ª\¨\ÝÐKÑLÔLÐLøàð O˜;ð OÝÐMÑNÔNÐNàð 3Ý˜gÑ&Ô&ˆˆØ	ð 3Ý˜g¨EÐ2Ñ2Ô2ˆàð .Ý•s˜;Ñ'Ô'Ñ(Ô(ˆÝˆw‰<Œ<˜!ÒÐÝÐDÑEÔEÐEàð 	ÝØNñô ð ð ð 	.Ø�qŒz�S ™ZœZÒ'Ð'ð+ G¨A¤Jð +ð +Ý! %™jœjð+ð +ð õ ! ‘o”oÐ%ð (õ " '¨!¤*Ñ-Ô-ˆEå˜ÑÔÐrJ   rX   úlist[ArrayLike]rg   ÚlengthÚintútuple[list[ArrayLike], Index]c                óT  — |�£|                      |¦  «        sŽg }|                     |¦  «        }t          |¦  «        D ]c\  }}|dk    r;t          j        |t
          ¬¦  «        }|                     t          j        ¦  «         n| |         }|                     |¦  «         Œd|} |}| |fS )zB
    Pre-emptively (cheaply) reindex arrays with new columns.
    Nr~   ry   )	ÚequalsÚget_indexerrª   rT   r—   r˜   ÚfillrÌ   rï   )	rX   rg   r<   r   Ú
new_arraysÚindexerro   rÃ   rZ   s	            rH   re   re   ¹  sº   € ð ÐØ�~Š~˜kÑ*Ô*ð 	"à*,ˆJØ!×-Ò-¨gÑ6Ô6ˆGÝ! 'Ñ*Ô*ð 'ð '‘��1Ø˜’7�7åœ( 6µÐ8Ñ8Ô8�CØ—H’H�RœVÑ$Ô$Ð$Ð$à  œ)�CØ×!Ò! #Ñ&Ô&Ð&Ð&àˆFØ!ˆKà�;ÐÐrJ   c                óZ  — 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V — ŒdS )r•   N)r™   )rF   Úss     rH   rˆ   z(_get_names_from_index.<locals>.<genexpr>Õ  s3   è è € ÐKÐKÀ�  6¨4Ñ0Ô0¸Ð<ÐKÐKÐKÐKÐKÐKrJ   r   r•   zUnnamed rK   )r§   r$   rR   r¦   rt   rª   r™   r"   )r]   Úhas_some_namerY   Úcountro   r  r|   s          rH   rÚ   rÚ   Ô  s¼   € ÝÐKÐKÀdÐKÑKÔKÑKÔK€MØð (Ý�S ™YœYÑ'Ô'Ð'å ¥¥s¨4¡y¤yÑ!1Ô!1Ñ2Ô2€EØ€EÝ˜$‘”ð ð ‰ˆˆ1Ý�A�v˜tÑ$Ô$ˆØˆ=ØˆE�!‰HˆHà) %Ð)Ð)ˆE�!‰HØ�Q‰JˆEˆEå�‰<Œ<ÐrJ   ÚNÚKútuple[Index, Index]c                óŽ   — |€t          | ¦  «        }nt          |¦  «        }|€t          |¦  «        }nt          |¦  «        }||fS r{   )r$   r%   )r  r  rY   r<   s       rH   r    r    æ  sP   € ð €}Ý˜aÑ Ô ˆˆå˜UÑ#Ô#ˆà€Ý Ñ"Ô"ˆˆå˜wÑ'Ô'ˆØ�'ˆ>ÐrJ   c                óH   — 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)r]   r  s     rH   Údataclasses_to_dictsr  ø  s.   € ð0 #Ð"Ð"Ð"Ð"Ð"å•�F˜DÑ!Ô!Ñ"Ô"Ð"rJ   c                ó¶  ‡ — t          ‰ ¦  «        s¤t          ‰ t          j        ¦  «        ry‰ j        j        �mt          ‰ j        j        ¦  «        }ˆ fd„|D ¦   «         }t          ‰ ¦  «        dk    r/t          |¦  «        D ]\  }}|j        dk    r|dd…df         ||<   Œ ||fS g t          g ¦  «        fS t          ‰ t          j        ¦  «        rD‰ j        j        �8t          t          ‰ j        j        ¦  «        ¦  «        }ˆ fd„|D ¦   «         }||fS t          ‰ d         t          t          f¦  «        rt          ‰ ¦  «        }n~t          ‰ d         t          j        ¦  «        rt          ‰ |¦  «        \  }}nJt          ‰ d         t           ¦  «        rt#          ‰ |¦  «        \  }}nd„ ‰ D ¦   «         Š t          ‰ ¦  «        }t%          |||¦  «        \  }}||fS )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).
    Nc                ó    •— g | ]
}‰|         ‘ŒS rm   rm   )rF   r•   r]   s     €rH   rI   zto_arrays.<locals>.<listcomp>0  s   ø€ Ð9Ð9Ð9¨˜$˜tœ*Ð9Ð9Ð9rJ   r   rk   c                ó    •— g | ]
}‰|         ‘ŒS rm   rm   rÂ   s     €rH   rI   zto_arrays.<locals>.<listcomp>?  s   ø€ Ð+Ð+Ð+˜a�$�q”'Ð+Ð+Ð+rJ   c                ó,   — g | ]}t          |¦  «        ‘ŒS rm   )ÚtuplerE   s     rH   rI   zto_arrays.<locals>.<listcomp>J  s   € Ð'Ð'Ð'˜Q•�a‘”Ð'Ð'Ð'rJ   )rR   rS   rT   rU   r8   Únamesr%   rª   rV   r"   r¦   r  Ú_list_to_arraysr   ÚMappingÚ_list_of_dict_to_arraysr   Ú_list_of_series_to_arraysÚ_finalize_columns_and_data)r]   r<   r8   rX   ro   rZ   Úcontents   `      rH   rd   rd     sæ  ø€ õ$ ˆt‰9Œ9ð Ý�d�BœJÑ'Ô'ð 	'ØŒzÔÐ+å& t¤zÔ'7Ñ8Ô8�Ø9Ð9Ð9Ð9°Ð9Ñ9Ô9�å�t‘9”9 ’>�>õ #,¨FÑ"3Ô"3ð 2ð 2™˜˜3Øœ8 qš=˜=Ø(+¨A¨A¨A¨q¨D¬	˜F 1™Iøà˜w�Ð&Ø•< Ñ#Ô#Ð#Ð#å	�D�"œ*Ñ	%Ô	%ð ¨$¬*Ô*:Ð*Få�˜TœZÔ-Ñ.Ô.Ñ/Ô/ˆØ+Ð+Ð+Ð+ 7Ð+Ñ+Ô+ˆØ�wˆÐå�$�q”'�D¥%˜=Ñ)Ô)ð 	$Ý˜dÑ#Ô#ˆˆÝ	�D˜”G�Sœ[Ñ	)Ô	)ð $Ý.¨t°WÑ=Ô=‰ˆˆWˆWÝ	�D˜”G�YÑ	'Ô	'ð $Ý0°°wÑ?Ô?‰ˆˆWˆWð (Ð' $Ð'Ñ'Ô'ˆÝ˜dÑ#Ô#ˆå1°#°wÀÑFÔFÑ€GˆWØ�GÐÐrJ   úlist[tuple | list]c                óŽ   — t          | d         t          ¦  «        rt          j        | ¦  «        }nt          j        | ¦  «        }|S )Nr   )rS   r  r	   Úto_object_array_tuplesÚto_object_array)r]   r"  s     rH   r  r  Q  sC   € õ �$�q”'�5Ñ!Ô!ð ,ÝÔ,¨TÑ2Ô2ˆˆõ Ô% dÑ+Ô+ˆØ€NrJ   r¦   útuple[np.ndarray, Index]c                óî  — |€d„ | D ¦   «         }t          |d¬¦  «        }i }g }| D ]¸}t          |dd ¦  «        }|€t          t          |¦  «        ¦  «        }t	          |¦  «        |v r|t	          |¦  «                 }n'|                     |¦  «        x}|t	          |¦  «        <   t          |d¬¦  «        }|                     t          j	        ||¦  «        ¦  «         Œ¹t          j        |¦  «        }	|	|fS )Nc                óJ   — g | ] }t          |t          t          f¦  «        ¯|‘Œ!S rm   )rS   r   r   rE   s     rH   rI   z-_list_of_series_to_arrays.<locals>.<listcomp>d  s,   € ÐQÐQÐQ˜1­
°1µyÅ,Ð6OÑ(PÔ(PÐQ�QÐQÐQÐQrJ   Frõ   rY   TrC   )r&   r™   r$   rR   Úidr  r   rï   r   Útake_ndrT   Úvstack)
r]   r<   Ú	pass_dataÚindexer_cacheÚaligned_valuesr  rY   r  r}   r"  s
             rH   r   r   \  s  € ð €àQÐQ ÐQÑQÔQˆ	Ý(¨¸Ð?Ñ?Ô?ˆà+-€Mà€NØð Cð CˆÝ˜˜7 DÑ)Ô)ˆØˆ=Ý!¥# a¡&¤&Ñ)Ô)ˆEåˆe‰9Œ9˜Ð%Ð%Ø#¥B u¡I¤IÔ.ˆGˆGà16×1BÒ1BÀ7Ñ1KÔ1KÐKˆG�m¥B u¡I¤IÑ.å˜q°Ð5Ñ5Ô5ˆØ×Ò�jÔ0°¸ÑAÔAÑBÔBÐBÐBåŒi˜Ñ'Ô'€GØ�GÐÐrJ   ú
list[dict]c                ó   — |€Kd„ | D ¦   «         }t          d„ | D ¦   «         ¦  «         }t          j        ||¬¦  «        }t          |¦  «        }d„ | D ¦   «         } t          j        | t          |¦  «        ¦  «        }||fS )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
    Nc              3  óX   K  — | ]%}t          |                     ¦   «         ¦  «        V — Œ&d S r{   )r¦   rÏ   rE   s     rH   rˆ   z*_list_of_dict_to_arrays.<locals>.<genexpr>“  s0   è è € Ð,Ð, !�t�A—F’F‘H”H‰~Œ~Ð,Ð,Ð,Ð,Ð,Ð,rJ   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r{   )rS   r¹   ©rF   Úds     rH   rˆ   z*_list_of_dict_to_arrays.<locals>.<genexpr>”  s,   è è € Ð9Ð9¨q•z !¥TÑ*Ô*Ð9Ð9Ð9Ð9Ð9Ð9rJ   rõ   c                ó\   — g | ])}t          |¦  «        t          u r|nt          |¦  «        ‘Œ*S rm   )r£   r¹   r4  s     rH   rI   z+_list_of_dict_to_arrays.<locals>.<listcomp>š  s0   € Ð<Ð<Ð<°!•�a‘”�D��ˆAˆA¥d¨1¡g¤gÐ<Ð<Ð<rJ   )r§   r	   Úfast_unique_multiple_list_genr%   Údicts_to_arrayr¦   )r]   r<   Úgenrö   Úpre_colsr"  s         rH   r  r  {  s•   € ð. €Ø,Ð, tÐ,Ñ,Ô,ˆÝÐ9Ð9°DÐ9Ñ9Ô9Ñ9Ô9Ð9ˆÝÔ4°S¸tÐDÑDÔDˆÝ˜xÑ(Ô(ˆð =Ð<°tÐ<Ñ<Ô<€DåÔ  ¥t¨G¡}¤}Ñ5Ô5€GØ�GÐÐrJ   r"  c                ó  — t          | j        ¦  «        }	 t          ||¦  «        }n"# t          $ r}t	          |¦  «        |‚d}~ww xY wt          |¦  «        r,|d         j        t          j        k    rt          ||¬¦  «        }||fS )zG
    Ensure we have valid columns, cast object dtypes if possible.
    Nr   ry   )
r¦   r¥   Ú_validate_or_indexify_columnsÚAssertionErrorrW   rR   r8   rT   Úobject_Úconvert_object_array)r"  r<   r8   ÚcontentsÚerrs        rH   r!  r!     s”   € õ �G”I‰Œ€Hð'Ý/°¸'ÑBÔBˆˆøÝð 'ð 'ð 'å˜‰oŒo 3Ð&øøøøð'øøøõ ˆ8�}„}ð ?˜ !œÔ*­b¬jÒ8Ð8Ý'¨¸Ð>Ñ>Ô>ˆà�WÐÐs   –' §
A±AÁAúlist[np.ndarray]c                óZ  — |€t          t          | ¦  «        ¦  «        }�n
t          |t          ¦  «        ot	          d„ |D ¦   «         ¦  «        }|sOt          |¦  «        t          | ¦  «        k    r/t          t          |¦  «        › dt          | ¦  «        › d�¦  «        ‚|r‰t          d„ |D ¦   «         ¦  «        dk    rt          d¦  «        ‚|r[t          |d         ¦  «        t          | ¦  «        k    r5t          t          |d         ¦  «        › 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
    ------
    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
    Nc              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r{   )rS   r¦   ©rF   Úcols     rH   rˆ   z0_validate_or_indexify_columns.<locals>.<genexpr>Ô  s=   è è € ð 7
ð 7
Ø&)�J�s�DÑ!Ô!ð7
ð 7
ð 7
ð 7
ð 7
ð 7
rJ   z! columns passed, passed data had z columnsc                ó,   — h | ]}t          |¦  «        ’ŒS rm   )rR   rE  s     rH   ú	<setcomp>z0_validate_or_indexify_columns.<locals>.<setcomp>à  s   € Ð0Ð0Ð0 •C˜‘H”HÐ0Ð0Ð0rJ   rK   z<Length of columns passed for MultiIndex columns is differentr   )r$   rR   rS   r¦   Úallr=  rW   )r"  r<   Ú
is_mi_lists      rH   r<  r<  ¶  sf  € ð4 €Ý¥ G¡¤Ñ-Ô-ˆ‰õ   ­Ñ.Ô.ð 
µ3ð 7
ð 7
Ø-4ð7
ñ 7
ô 7
ñ 4
ô 4
ˆ
ð ð 	�c '™lœl­c°'©l¬lÒ:Ð:å Ý�w‘<”<ð *ð *Ý�w‘<”<ð*ð *ð *ñô ð ð ð 	åÐ0Ð0¨Ð0Ñ0Ô0Ñ1Ô1°AÒ5Ð5Ý ØRñô ð ð
 ð �3˜w qœz™?œ?­c°'©l¬lÒ:Ð:Ý Ý˜7 1œ:‘”ð .ð .Ý˜7‘|”|ð.ð .ð .ñô ð ð €NrJ   ÚnumpyFúlist[npt.NDArray[np.object_]]Údtype_backendÚcoerce_floatc                ó8   ‡‡‡‡— ˆˆˆfd„Šˆfd„| D ¦   «         }|S )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¦  «        k    �rAt          j        | ‰‰dk    ¬¦  «        } ‰€É| j        t          j        d¦  «        k    rlt	          | ¦  «        } ‰dk    rV| j        t          j        d¦  «        k    r9t          ¦   «         }|                     ¦   «         }|                     | |¬¦  «        } n›‰dk    r9t          | t           j	        ¦  «        r| j        j
        dv rt          | d¬¦  «        } n[t          ‰t          ¦  «        r-‰                     ¦   «         }|                     | ‰d¬¦  «        } n‰j
        d	v rt          | ‰¦  «        } | S )
Nrë   rK  )Ú	try_floatÚconvert_to_nullable_dtypery   ÚiufbFrq   rí   r‚   )rT   r8   r	   Úmaybe_convert_objectsr   r   r’   r“   rS   rU   r©   Úpd_arrayr   r   )rZ   Ú	new_dtypeÚarr_clsÚclsrN  r8   rM  s       €€€rH   râ   z%convert_object_array.<locals>.convert  sX  ø€ Ø•B”H˜S‘M”MÒ!Ñ!ÝÔ+ØØ&Ø*7¸7Ò*Bðñ ô ˆCð ˆ}Ø”9¥¤¨¡¤Ò-Ð-å5°cÑ:Ô:�CØ$¨Ò/Ð/°C´IÅÄÈ#ÁÄÒ4NÐ4NÝ$/¡M¤M˜	Ø"+×"@Ò"@Ñ"BÔ"B˜Ø%×4Ò4°SÀ	Ð4ÑJÔJ˜øØ" gÒ-Ð-µ*¸SÅ"Ä*Ñ2MÔ2MÐ-Ø”y”~¨Ð/Ð/Ý& s°Ð7Ñ7Ô7˜øå˜E¥>Ñ2Ô2ð 9ð ×0Ò0Ñ2Ô2�Ø×(Ò(¨°EÀÐ(ÑFÔF��Ø”˜tÐ#Ð#õ -¨S°%Ñ8Ô8�àˆ
rJ   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS rm   rm   )rF   rZ   râ   s     €rH   rI   z(convert_object_array.<locals>.<listcomp>.  s!   ø€ Ð.Ð.Ð.˜sˆgˆg�c‰lŒlÐ.Ð.Ð.rJ   rm   )r"  r8   rM  rN  rX   râ   s    ``` @rH   r?  r?  î  sJ   øøøø€ ð,(ð (ð (ð (ð (ð (ð (ðT /Ð.Ð.Ð. gÐ.Ñ.Ô.€Fà€MrJ   )r<   r"   r8   r=   r9   r>   r:   r?   r;   r>   r@   r6   )
r]   r^   r8   r=   r_   r>   r:   r`   r@   r6   )T)r:   r`   r_   r>   r@   r6   )r8   r=   r_   r>   r:   r`   r@   r6   )r}   r´   rY   r"   r<   r"   r@   rµ   )
r]   r¹   r8   r=   r:   r`   r_   r>   r@   r6   )
r]   r3   r<   rÖ   rY   rÖ   r8   r=   r@   r×   )r@   r>   )r_   r>   r@   r´   )r}   r´   r@   r´   )rY   r"   r8   r=   r@   ré   )r@   r"   )
rX   rÿ   rg   r"   r<   rÖ   r   r  r@   r  )
r  r  r  r  rY   rÖ   r<   rÖ   r@   r  r{   )r<   rÖ   r8   r=   r@   r  )r]   r#  r@   r´   )r]   r¦   r<   rÖ   r@   r'  )r]   r0  r<   rÖ   r@   r'  )r"  r´   r<   rÖ   r8   r=   r@   r  )r"  rB  r<   rÖ   r@   r"   )rK  F)
r"  rL  r8   r=   rM  r`   rN  r>   r@   rÿ   )eÚ__doc__Ú
__future__r   Úcollectionsr   Útypingr   r   rK  rT   r   Úpandas._configr   Úpandas._libsr	   Úpandas.core.dtypes.astyper
   Úpandas.core.dtypes.castr   r   r   r   r   Úpandas.core.dtypes.commonr   r   r   r   r   Úpandas.core.dtypes.dtypesr   Úpandas.core.dtypes.genericr   r   Úpandas.corer   r   rÀ   Úpandas.core.arraysr   Úpandas.core.arrays.string_r   Úpandas.core.constructionr   rU  r   r   r   r    Ú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/   r0   r1   Úcollections.abcr2   r3   Úpandas._typingr4   r5   r6   r7   r\   ri   rw   r³   r¡   rÕ   rÛ   rÝ   rŸ   rž   rQ   rP   re   rÚ   r    r  rd   r  r   r  r!  r<  r?  rm   rJ   rH   ú<module>ro     sÃ  ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð
 Ð Ð Ð Ø Ð Ð Ð Ð Ð à 5Ð 5Ð 5Ð 5Ð 5Ð 5à Ð Ð Ð Ð Ð à 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð "Ø!ØØð>Xð >Xð >Xð >Xð >Xð >XðB ð  ð  ð  ðF"ð "ð "ð "ð "ðReð eð eð eðPYð Yð Yð Yð. "ØØðPYð PYð PYð PYð PYð PYðf"ð "ð "ð "ð4	ð 	ð 	ð 	ð#ð #ð #ð #ð #ðLð ð ð ð'ð 'ð 'ð 'ðT8ð 8ð 8ð 8ðvð ð ð ð6ð ð ð ð$ð ð ð ð$#ð #ð #ðD ;?ð5ð 5ð 5ð 5ð 5ðpð ð ð ðð ð ð ð>"ð "ð "ð "ðJð ð ð ð,5ð 5ð 5ð 5ðv !Øð	Bð Bð Bð Bð Bð Bð BrJ   