Ë
    ¤eh™+  ã                  ó(  — d Z ddlmZ ddlmZmZmZmZmZ ddl	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 dd
lmZmZ ddlmZ ddlmZ ddl m!Z!m"Z" erddl#m$Z$m%Z%m&Z&m'Z'm(Z(  G d„ d«      Z) G d„ de«      Z* G d„ de*«      Z+dd„Z,dd„Z-y)zc
Base class for the internal managers. Both BlockManager and ArrayManager
inherit from this class.
é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚLiteralÚcastÚfinalN)Úusing_copy_on_writeÚwarn_copy_on_write)ÚalgosÚlib©ÚAbstractMethodError)Úvalidate_bool_kwarg)Úfind_common_typeÚnp_can_hold_element)ÚExtensionDtypeÚSparseDtype)ÚPandasObject)Úextract_array)ÚIndexÚdefault_index)Ú	ArrayLikeÚAxisIntÚDtypeObjÚSelfÚShapec                  ó   — e Zd Zd„ Zy)Ú_AlreadyWarnedc                ó   — d| _         y ©NF)Úwarned_already©Úselfs    úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/core/internals/base.pyÚ__init__z_AlreadyWarned.__init__8   s   € ð $ˆÕó    N)Ú__name__Ú
__module__Ú__qualname__r%   © r&   r$   r   r   7   s   „ ó$r&   r   c                  óÖ  — e Zd ZU ded<   edd„«       Zedd„«       Zedd„«       Zedd„«       Z	ed d„«       Z
	 	 	 	 d!	 	 	 	 	 	 	 	 	 d"d	„Ze	 	 d#	 	 	 	 	 	 	 d$d
„«       Zd%d„Zed&d„«       Z	 d'	 	 	 d(d„Z	 d'	 	 	 d(d„Zed)d„«       Zed*d„«       Zed+d„«       Zed,d-d„«       Zed.d/d„«       Zed0d„«       Zed)d„«       Ze	 	 d1	 	 	 	 	 	 	 	 	 d2d„«       Zd0d„Zd0d„Zd3d„Zd4d„Zd)d„Zd5d„Zy)6ÚDataManagerzlist[Index]Úaxesc                ó   — t        | «      ‚©Nr   r"   s    r$   ÚitemszDataManager.itemsF   s   € ä! $Ó'Ð'r&   c                ó,   — t        | j                  «      S r/   )Úlenr0   r"   s    r$   Ú__len__zDataManager.__len__J   s   € ä�4—:‘:‹Ðr&   c                ó,   — t        | j                  «      S r/   )r2   r-   r"   s    r$   ÚndimzDataManager.ndimN   s   € ä�4—9‘9‹~Ðr&   c                ó:   — t        d„ | j                  D «       «      S )Nc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr/   )r2   )Ú.0Úaxs     r$   ú	<genexpr>z$DataManager.shape.<locals>.<genexpr>T   s   è ø€ Ò1 ”S˜—WÑ1ùs   ‚)Útupler-   r"   s    r$   ÚshapezDataManager.shapeR   s   € äÑ1 t§y¡yÔ1Ó1Ð1r&   c                ó´   — t        | j                  |   «      }t        |«      }|dk(  rt        | j                  «      dk(  ry ||k7  rt        d|› d|› d�«      ‚y )Né   r   z#Length mismatch: Expected axis has z elements, new values have z	 elements)r2   r-   r0   Ú
ValueError)r#   ÚaxisÚ
new_labelsÚold_lenÚnew_lens        r$   Ú_validate_set_axiszDataManager._validate_set_axisV   sl   € ô �d—i‘i ‘oÓ&ˆÜ�j“/ˆà�1Š9œ˜TŸZ™Z›¨AÒ-ð à˜ÒÜØ5°g°Yð ?Ø&˜i yð2óð ð  r&   Nc                ó   — t        | «      ‚r/   r   )r#   Únew_axisÚindexerr@   Ú
fill_valueÚ
allow_dupsÚcopyÚ
only_slices           r$   Úreindex_indexerzDataManager.reindex_indexerg   s   € ô " $Ó'Ð'r&   c                ór   — | j                   |   j                  |«      \  }}| j                  ||||d|¬«      S )z4
        Conform data manager to new index.
        F)r@   rH   rJ   rK   )r-   ÚreindexrL   )r#   Ú	new_indexr@   rH   rK   rG   s         r$   Úreindex_axiszDataManager.reindex_axiss   sK   € ð "ŸY™Y t™_×4Ñ4°YÓ?Ñˆ	�7à×#Ñ#ØØØØ!ØØ!ð $ó 
ð 	
r&   c                ó   — t        | «      ‚)z‘
        To be implemented by the subclasses. Only check the column values
        assuming shape and indexes have already been checked.
        r   )r#   Úothers     r$   Ú_equal_valueszDataManager._equal_values‰   s   € ô
 " $Ó'Ð'r&   c                óê   — t        |t        | «      «      sy| j                  |j                  }}t        |«      t        |«      k7  ryt	        d„ t        ||«      D «       «      sy| j                  |«      S )z5
        Implementation for DataFrame.equals
        Fc              3  óD   K  — | ]  \  }}|j                  |«      –— Œ y ­wr/   )Úequals)r8   Úax1Úax2s      r$   r:   z%DataManager.equals.<locals>.<genexpr>›   s   è ø€ ÒN¡x s¨C�3—:‘:˜c—?ÑNùs   ‚ )Ú
isinstanceÚtyper-   r2   ÚallÚziprS   )r#   rR   Ú	self_axesÚ
other_axess       r$   rV   zDataManager.equals�   sb   € ô
 ˜%¤ d£Ô,Øà $§	¡	¨5¯:©:�:ˆ	Üˆy‹>œS ›_Ò,ØÜÑN´3°yÀ*Ó3MÔNÔNØà×!Ñ! %Ó(Ð(r&   c                ó   — t        | «      ‚r/   r   ©r#   ÚfÚ
align_keysÚkwargss       r$   ÚapplyzDataManager.apply    ó   € ô " $Ó'Ð'r&   c                ó   — t        | «      ‚r/   r   r`   s       r$   Úapply_with_blockzDataManager.apply_with_block¨   re   r&   c                ó(   — | j                  d|¬«      S )Nrd   )Úfunc)rd   )r#   ri   s     r$   ÚisnazDataManager.isna°   s   € à�z‰z˜'¨ˆzÓ-Ð-r&   c           
     ó„   — |�t        j                  d |¬«      }| j                  d||||t        «       t	        «       ¬«      S )N)ÚlimitÚfillna)Úvaluerl   ÚinplaceÚdowncastÚ	using_cowÚalready_warned)ÚlibalgosÚvalidate_limitrg   r	   r   )r#   rn   rl   ro   rp   s        r$   rm   zDataManager.fillna´   sM   € àÐä×+Ñ+¨D¸Ô>ˆEà×$Ñ$ØØØØØÜ)Ó+Ü)Ó+ð %ó 
ð 	
r&   c                ól   — |rddg}ndg}t        |d¬«      }| j                  d|||t        «       ¬«      S )NrR   ÚcondT©Úextract_numpyÚwhere)rb   rR   rv   rq   )r   rg   r	   )r#   rR   rv   Úalignrb   s        r$   ry   zDataManager.whereÄ   sL   € áØ! 6Ð*‰Jà ˜ˆJÜ! %°tÔ<ˆEà×$Ñ$ØØ!ØØÜ)Ó+ð %ó 
ð 	
r&   c                ó¬   — |rddg}ndg}t        |d¬«      }d }t        «       rt        «       }|sd|_        | j	                  d|||t        «       |¬«      S )NÚnewÚmaskTrw   Úputmask)rb   r}   r|   rq   rr   )r   r
   r   r!   rg   r	   )r#   r}   r|   rz   Úwarnrb   rr   s          r$   r~   zDataManager.putmaskÔ   sl   € áØ ˜‰Jà ˜ˆJÜ °4Ô8ˆCàˆÜÔÜ+Ó-ˆNÙØ04�Ô-à×$Ñ$ØØ!ØØÜ)Ó+Ø)ð %ó 
ð 	
r&   c                ó*   — | j                  d||¬«      S )NÚround)Údecimalsrq   )rg   )r#   r‚   rq   s      r$   r�   zDataManager.roundë   s#   € à×$Ñ$ØØØð %ó 
ð 	
r&   c           	     óÄ   — t        |d«      }t        j                  |«      rJ ‚t        j                  |«      rJ ‚| j                  d|||t	        «       t        «       ¬«      S )Nro   Úreplace)Ú
to_replacern   ro   rq   rr   )r   r   Úis_list_likerg   r	   r   )r#   r…   rn   ro   s       r$   r„   zDataManager.replaceó   sf   € ä% g¨yÓ9ˆä×#Ñ# JÔ/Ð/Ð/Ü×#Ñ# EÔ*Ð*Ð*Ø×$Ñ$ØØ!ØØÜ)Ó+Ü)Ó+ð %ó 
ð 	
r&   c                óR   —  | j                   	 di |¤t        «       t        «       dœ¤ŽS )N©rq   rr   )Ú_replace_regex©rg   r	   r   )r#   rc   s     r$   Úreplace_regexzDataManager.replace_regex  s5   € à$ˆt×$Ñ$Øñ
àð
ô *Ó+Ü)Ó+ó	
ð 	
r&   c           
     óŽ   — t        |d«      }| j                  d||||t        «       t        «       ¬«      }|j	                  «        |S )zdo a list replacero   Úreplace_list)Úsrc_listÚ	dest_listro   Úregexrq   rr   )r   rg   r	   r   Ú_consolidate_inplace)r#   rŽ   r�   ro   r�   Úbms         r$   r�   zDataManager.replace_list  sS   € ô & g¨yÓ9ˆà×"Ñ"ØØØØØÜ)Ó+Ü)Ó+ð #ó 
ˆð 	×ÑÔ!Øˆ	r&   c                óV   —  | j                   	 dd|i|¤t        «       t        «       dœ¤ŽS )Nro   rˆ   )ÚinterpolaterŠ   ©r#   ro   rc   s      r$   r”   zDataManager.interpolate"  s?   € Ø$ˆt×$Ñ$Øñ
àð
ð ð
ô *Ó+Ü)Ó+ó
ð 	
r&   c                óV   —  | j                   	 dd|i|¤t        «       t        «       dœ¤ŽS )Nro   rˆ   )Úpad_or_backfillrŠ   r•   s      r$   r—   zDataManager.pad_or_backfill+  s?   € Ø$ˆt×$Ñ$Øñ
àð
ð ð
ô *Ó+Ü)Ó+ó
ð 	
r&   c                óR   — |t         j                  u rd }| j                  d||¬«      S )NÚshift)ÚperiodsrH   )r   Ú
no_defaultrg   )r#   rš   rH   s      r$   r™   zDataManager.shift4  s+   € ØœŸ™Ñ'ØˆJà×$Ñ$ W°gÈ*Ð$ÓUÐUr&   c                 ó   — y)NTr*   r"   s    r$   Úis_consolidatedzDataManager.is_consolidated=  s   € Ør&   c                ó   — | S r/   r*   r"   s    r$   ÚconsolidatezDataManager.consolidate@  s   € Øˆr&   c                 ó   — y r/   r*   r"   s    r$   r‘   z DataManager._consolidate_inplaceC  s   € Ør&   )Úreturnr   )r¡   Úint)r¡   r   )r@   r   rA   r   r¡   ÚNone)NFTF)
r@   r   rI   ÚboolrJ   r¤   rK   r¤   r¡   r   r    )rO   r   r@   r   rK   r¤   r¡   r   )rR   r   r¡   r¤   )rR   Úobjectr¡   r¤   r/   )rb   zlist[str] | Noner¡   r   )r¡   r   )rl   z
int | Nonero   r¤   r¡   r   )rz   r¤   r¡   r   )TT)rz   r¤   r   r¤   r¡   r   )F)r‚   r¢   rq   r¤   r¡   r   )ro   r¤   r¡   r   )FF)
rŽ   ú	list[Any]r�   r¦   ro   r¤   r�   r¤   r¡   r   )rš   r¢   r¡   r   )r¡   r¤   )r¡   r£   )r'   r(   r)   Ú__annotations__Úpropertyr0   r   r3   r5   r<   rD   rL   rP   rS   rV   rd   rg   rj   rm   ry   r~   r�   r„   r‹   r�   r”   r—   r™   r�   rŸ   r‘   r*   r&   r$   r,   r,   A   s?  … ð Óàò(ó ð(ð òó ðð òó ðð ò2ó ð2ð òó ðð* Ø ØØ ð
(ð ð	
(ð ð
(ð ð
(ð ð
(ð 
ó
(ð ð
 Ø ð
àð
ð ð
ð
 ð
ð 
ò
ó ð
ó*(ð ò)ó ð)ð$ (,ð(ð %ð(ð
 
ó(ð (,ð(ð %ð(ð
 
ó(ð ò.ó ð.ð ò
ó ð
ð ò
ó ð
ð ó
ó ð
ð, ó
ó ð
ð ò
ó ð
ð ò
ó ð
ð ð
 Øðàðð ðð ð	ð
 ðð 
òó ðó,
ó
óVóóôr&   r,   c                  ó\   — e Zd Zedd„«       Zeedd„«       «       Zd	d
d„Zd„ Ze	dd„«       Z
y)ÚSingleDataManagerc                 ó   — y)Nr>   r*   r"   s    r$   r5   zSingleDataManager.ndimH  s   € àr&   c                ó    — | j                   d   S )zW
        Quick access to the backing array of the Block or SingleArrayManager.
        r   )Úarraysr"   s    r$   ÚarrayzSingleDataManager.arrayL  s   € ð �{‰{˜1‰~Ðr&   c                óþ   — | j                   }t        |t        j                  «      rt	        |j
                  |«      }t        |t        j                  «      r"|j                  dk(  rt        |«      dk(  r|d   }|||<   y)a'  
        Set values with indexer.

        For Single[Block/Array]Manager, this backs s[indexer] = value

        This is an inplace version of `setitem()`, mutating the manager/values
        in place, not returning a new Manager (and Block), and thus never changing
        the dtype.
        r>   )r   .N)r®   rY   ÚnpÚndarrayr   Údtyper5   r2   )r#   rG   rn   r   Úarrs        r$   Úsetitem_inplacez!SingleDataManager.setitem_inplaceU  sc   € ð �j‰jˆô �cœ2Ÿ:™:Ô&ô (¨¯	©	°5Ó9ˆEä�eœRŸZ™ZÔ(¨U¯Z©Z¸1ª_ÄÀUÃÈqÂà˜&‘MˆEàˆˆGŠr&   c                óŒ   — | j                   } ||«      }t        t        |«      «      }t        | «      j	                  ||«      }|S r/   )r®   r   r2   rZ   Ú
from_array)r#   ri   r³   ÚresÚindexÚmgrs         r$   Úgrouped_reducez SingleDataManager.grouped_reducem  s=   € Ø�j‰jˆÙ�3‹iˆÜœc #›hÓ'ˆä�4‹j×#Ñ# C¨Ó/ˆØˆ
r&   c                ó   — t        | «      ‚r/   r   )Úclsr³   r¸   s      r$   r¶   zSingleDataManager.from_arrayu  s   € ä! #Ó&Ð&r&   N)r¡   z
Literal[1])r¡   r   )T)r   r¤   r¡   r£   )r³   r   r¸   r   )r'   r(   r)   r¨   r5   r   r®   r´   rº   Úclassmethodr¶   r*   r&   r$   rª   rª   G  sN   „ Øòó ðð Øòó ó ðôò0ð ò'ó ñ'r&   rª   c                ó0   — t        | «      syt        | «      S )zà
    Find the common dtype for `blocks`.

    Parameters
    ----------
    blocks : List[DtypeObj]

    Returns
    -------
    dtype : np.dtype, ExtensionDtype, or None
        None is returned when `blocks` is empty.
    N)r2   r   )Údtypess    r$   Úinterleaved_dtyperÀ   z  s   € ô ˆvŒ;Øä˜FÓ#Ð#r&   c                ó&  — t        | t        «      r(| j                  } t        t        j
                  | «      } | S t        | t        «      rt	        j
                  d«      } | S | t	        j
                  t        «      k(  rt	        j
                  d«      } | S )Nr¥   )rY   r   Úsubtyper   r°   r²   r   Ústr)r²   s    r$   Úensure_np_dtyperÄ   �  st   € ô �%œÔ%Ø—‘ˆÜ”R—X‘X˜uÓ%ˆð
 €Lô	 
�Eœ>Ô	*Ü—‘˜Ó"ˆð €Lð 
”"—(‘(œ3“-Ò	Ü—‘˜Ó"ˆØ€Lr&   )r¿   zlist[DtypeObj]r¡   zDtypeObj | None)r²   r   r¡   znp.dtype).Ú__doc__Ú
__future__r   Útypingr   r   r   r   r   Únumpyr°   Úpandas._configr	   r
   Úpandas._libsr   rs   r   Úpandas.errorsr   Úpandas.util._validatorsr   Úpandas.core.dtypes.castr   r   Úpandas.core.dtypes.dtypesr   r   Úpandas.core.baser   Úpandas.core.constructionr   Úpandas.core.indexes.apir   r   Úpandas._typingr   r   r   r   r   r   r,   rª   rÀ   rÄ   r*   r&   r$   ú<module>rÓ      s†   ðñõ #÷õ ó ÷÷
õ .Ý 7÷÷õ
 *Ý 2÷ñ
 ÷õ ÷$ñ $ôC�,ô CôL0'˜ô 0'óf$ô&
r&   