§
    Ñ! 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-dS ) 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dS )Ú_AlreadyWarnedc                ó   — d| _         d S ©NF)Úwarned_already©Úselfs    úTc:\xampp_lite_8_4\www\timesheet\venv\Lib\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
	 	 	 	 dAdBd„Ze	 	 dCdDd„¦   «         ZdEd„ZedFd„¦   «         Z	 dGdHd!„Z	 dGdHd"„ZedId#„¦   «         ZedJd'„¦   «         ZedKd)„¦   «         ZedLdMd+„¦   «         ZedNdOd.„¦   «         ZedPd/„¦   «         ZedId0„¦   «         Ze	 	 dQdRd5„¦   «         ZdPd6„ZdPd7„ZdSd9„ZdTd:„ZdId;„ZdUd<„ZdS )VÚDataManagerzlist[Index]ÚaxesÚreturnr   c                ó    — t          | ¦  «        ‚©Nr   r"   s    r$   ÚitemszDataManager.itemsF   s   € å! $Ñ'Ô'Ð'r&   Úintc                ó*   — t          | j        ¦  «        S r0   )Úlenr1   r"   s    r$   Ú__len__zDataManager.__len__J   s   € å�4”:‰ŒÐr&   c                ó*   — t          | j        ¦  «        S r0   )r4   r-   r"   s    r$   ÚndimzDataManager.ndimN   s   € å�4”9‰~Œ~Ðr&   r   c                ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3  ó4   K  — | ]}t          |¦  «        V — Œd S r0   )r4   )Ú.0Úaxs     r$   ú	<genexpr>z$DataManager.shape.<locals>.<genexpr>T   s(   è è € Ð1Ð1 •S˜‘W”WÐ1Ð1Ð1Ð1Ð1Ð1r&   )Útupler-   r"   s    r$   ÚshapezDataManager.shapeR   s!   € åÐ1Ð1 t¤yÐ1Ñ1Ô1Ñ1Ô1Ð1r&   Úaxisr   Ú
new_labelsÚNonec                óÐ   — t          | j        |         ¦  «        }t          |¦  «        }|dk    rt          | j        ¦  «        dk    rd S ||k    rt          d|› d|› d�¦  «        ‚d S )Né   r   z#Length mismatch: Expected axis has z elements, new values have z	 elements)r4   r-   r1   Ú
ValueError)r#   r?   r@   Úold_lenÚnew_lens        r$   Ú_validate_set_axiszDataManager._validate_set_axisV   sŒ   € õ �d”i ”oÑ&Ô&ˆÝ�j‘/”/ˆà�1Š9ˆ9�˜TœZ™œ¨AÒ-Ð-ð ˆDà˜ÒÐÝð2°gð 2ð 2Ø&ð2ð 2ð 2ñô ð ð  Ðr&   NFTÚ
allow_dupsÚboolÚcopyÚ
only_slicer   c                ó    — t          | ¦  «        ‚r0   r   )r#   Únew_axisÚindexerr?   Ú
fill_valuerH   rJ   rK   s           r$   Úreindex_indexerzDataManager.reindex_indexerg   s   € õ " $Ñ'Ô'Ð'r&   Ú	new_indexc                ó~   — | j         |                              |¦  «        \  }}|                      ||||d|¬¦  «        S )z4
        Conform data manager to new index.
        F)r?   rO   rJ   rK   )r-   ÚreindexrP   )r#   rQ   r?   rO   rK   rN   s         r$   Úreindex_axiszDataManager.reindex_axiss   sQ   € ð "œY tœ_×4Ò4°YÑ?Ô?Ñˆ	�7à×#Ò#ØØØØ!ØØ!ð $ñ 
ô 
ð 	
r&   Úotherc                ó    — t          | ¦  «        ‚)z‘
        To be implemented by the subclasses. Only check the column values
        assuming shape and indexes have already been checked.
        r   )r#   rU   s     r$   Ú_equal_valueszDataManager._equal_values‰   s   € õ
 " $Ñ'Ô'Ð'r&   Úobjectc                ó  — t          |t          | ¦  «        ¦  «        sdS | j        |j        }}t          |¦  «        t          |¦  «        k    rdS t	          d„ t          ||¦  «        D ¦   «         ¦  «        sdS |                      |¦  «        S )z5
        Implementation for DataFrame.equals
        Fc              3  óF   K  — | ]\  }}|                      |¦  «        V — Œd S r0   )Úequals)r:   Úax1Úax2s      r$   r<   z%DataManager.equals.<locals>.<genexpr>›   s0   è è € ÐNÐN¡x s¨C�3—:’:˜c‘?”?ÐNÐNÐNÐNÐNÐNr&   )Ú
isinstanceÚtyper-   r4   ÚallÚziprW   )r#   rU   Ú	self_axesÚ
other_axess       r$   r[   zDataManager.equals�   sŒ   € õ
 ˜%¥ d¡¤Ñ,Ô,ð 	Ø�5à $¤	¨5¬:�:ˆ	Ýˆy‰>Œ>�S ™_œ_Ò,Ð,Ø�5ÝÐNÐNµ3°yÀ*Ñ3MÔ3MÐNÑNÔNÑNÔNð 	Ø�5à×!Ò! %Ñ(Ô(Ð(r&   Ú
align_keysúlist[str] | Nonec                ó    — t          | ¦  «        ‚r0   r   ©r#   Úfrd   Úkwargss       r$   ÚapplyzDataManager.apply    ó   € õ " $Ñ'Ô'Ð'r&   c                ó    — t          | ¦  «        ‚r0   r   rg   s       r$   Úapply_with_blockzDataManager.apply_with_block¨   rk   r&   c                ó0   — |                       d|¬¦  «        S )Nrj   )Úfunc)rj   )r#   ro   s     r$   ÚisnazDataManager.isna°   s   € à�zŠz˜'¨ˆzÑ-Ô-Ð-r&   Úlimitú
int | NoneÚinplacec           
     óš   — |�t          j        d |¬¦  «        }|                      d||||t          ¦   «         t	          ¦   «         ¬¦  «        S )N)rq   Úfillna)Úvaluerq   rs   ÚdowncastÚ	using_cowÚalready_warned)ÚlibalgosÚvalidate_limitrm   r	   r   )r#   rv   rq   rs   rw   s        r$   ru   zDataManager.fillna´   s[   € àÐåÔ+¨D¸Ð>Ñ>Ô>ˆEà×$Ò$ØØØØØÝ)Ñ+Ô+Ý)Ñ+Ô+ð %ñ 
ô 
ð 	
r&   Úalignc                ó„   — |rddg}ndg}t          |d¬¦  «        }|                      d|||t          ¦   «         ¬¦  «        S )NrU   ÚcondT©Úextract_numpyÚwhere)rd   rU   r~   rx   )r   rm   r	   )r#   rU   r~   r|   rd   s        r$   r�   zDataManager.whereÄ   sa   € àð 	=Ø! 6Ð*ˆJˆJà ˜ˆJÝ! %°tÐ<Ñ<Ô<ˆEà×$Ò$ØØ!ØØÝ)Ñ+Ô+ð %ñ 
ô 
ð 	
r&   Úwarnc                óÔ   — |rddg}ndg}t          |d¬¦  «        }d }t          ¦   «         rt          ¦   «         }|sd|_        |                      d|||t          ¦   «         |¬¦  «        S )NÚnewÚmaskTr   Úputmask)rd   r…   r„   rx   ry   )r   r
   r   r!   rm   r	   )r#   r…   r„   r|   r‚   rd   ry   s          r$   r†   zDataManager.putmaskÔ   s‘   € àð 	9Ø ˜ˆJˆJà ˜ˆJÝ °4Ð8Ñ8Ô8ˆCàˆÝÑÔð 	5Ý+Ñ-Ô-ˆNØð 5Ø04�Ô-à×$Ò$ØØ!ØØÝ)Ñ+Ô+Ø)ð %ñ 
ô 
ð 	
r&   Údecimalsrx   c                ó2   — |                       d||¬¦  «        S )NÚround)r‡   rx   )rm   )r#   r‡   rx   s      r$   r‰   zDataManager.roundë   s(   € à×$Ò$ØØØð %ñ 
ô 
ð 	
r&   c           	     óà   — t          |d¦  «        }t          j        |¦  «        rJ ‚t          j        |¦  «        rJ ‚|                      d|||t	          ¦   «         t          ¦   «         ¬¦  «        S )Nrs   Úreplace)Ú
to_replacerv   rs   rx   ry   )r   r   Úis_list_likerm   r	   r   )r#   rŒ   rv   rs   s       r$   r‹   zDataManager.replaceó   sz   € å% g¨yÑ9Ô9ˆåÔ# JÑ/Ô/Ð/Ð/Ð/ÝÔ# EÑ*Ô*Ð*Ð*Ð*Ø×$Ò$ØØ!ØØÝ)Ñ+Ô+Ý)Ñ+Ô+ð %ñ 
ô 
ð 	
r&   c                óX   —  | j         	 di |¤t          ¦   «         t          ¦   «         dœ¤ŽS )NÚ_replace_regex©rx   ry   )r�   ©rm   r	   r   )r#   ri   s     r$   Úreplace_regexzDataManager.replace_regex  sL   € à$ˆtÔ$Øð
ð 
àð
õ *Ñ+Ô+Ý)Ñ+Ô+ð	
ð 
ð 
ð 
ð 	
r&   Úsrc_listú	list[Any]Ú	dest_listÚregexc           
     ó¶   — t          |d¦  «        }|                      d||||t          ¦   «         t          ¦   «         ¬¦  «        }|                     ¦   «          |S )zdo a list replacers   Úreplace_list)r“   r•   rs   r–   rx   ry   )r   rm   r	   r   Ú_consolidate_inplace)r#   r“   r•   rs   r–   Úbms         r$   r˜   zDataManager.replace_list  sg   € õ & g¨yÑ9Ô9ˆà×"Ò"ØØØØØÝ)Ñ+Ô+Ý)Ñ+Ô+ð #ñ 
ô 
ˆð 	×ÒÑ!Ô!Ð!Øˆ	r&   c                ó\   —  | j         	 dd|i|¤t          ¦   «         t          ¦   «         dœ¤ŽS )NÚinterpolaters   r�   )rœ   r‘   ©r#   rs   ri   s      r$   rœ   zDataManager.interpolate"  sV   € Ø$ˆtÔ$Øð
ð 
àð
ð ð
õ *Ñ+Ô+Ý)Ñ+Ô+ð
ð 
ð 
ð 
ð 	
r&   c                ó\   —  | j         	 dd|i|¤t          ¦   «         t          ¦   «         dœ¤ŽS )NÚpad_or_backfillrs   r�   )rŸ   r‘   r�   s      r$   rŸ   zDataManager.pad_or_backfill+  sV   € Ø$ˆtÔ$Øð
ð 
àð
ð ð
õ *Ñ+Ô+Ý)Ñ+Ô+ð
ð 
ð 
ð 
ð 	
r&   Úperiodsc                óR   — |t           j        u rd }|                      d||¬¦  «        S )NÚshift)r    rO   )r   Ú
no_defaultrm   )r#   r    rO   s      r$   r¢   zDataManager.shift4  s/   € Ø�œÐ'Ð'ØˆJà×$Ò$ W°gÈ*Ð$ÑUÔUÐUr&   c                ó   — dS )NTr*   r"   s    r$   Úis_consolidatedzDataManager.is_consolidated=  s   € Øˆtr&   c                ó   — | S r0   r*   r"   s    r$   ÚconsolidatezDataManager.consolidate@  s   € Øˆr&   c                ó   — d S r0   r*   r"   s    r$   r™   z DataManager._consolidate_inplaceC  s   € Øˆr&   )r.   r   )r.   r2   )r.   r   )r?   r   r@   r   r.   rA   )NFTF)
r?   r   rH   rI   rJ   rI   rK   rI   r.   r   r    )rQ   r   r?   r   rK   rI   r.   r   )rU   r   r.   rI   )rU   rX   r.   rI   r0   )rd   re   r.   r   )r.   r   )rq   rr   rs   rI   r.   r   )r|   rI   r.   r   )TT)r|   rI   r‚   rI   r.   r   )F)r‡   r2   rx   rI   r.   r   )rs   rI   r.   r   )FF)
r“   r”   r•   r”   rs   rI   r–   rI   r.   r   )r    r2   r.   r   )r.   rI   )r.   rA   )r'   r(   r)   Ú__annotations__Úpropertyr1   r   r5   r7   r>   rG   rP   rT   rW   r[   rj   rm   rp   ru   r�   r†   r‰   r‹   r’   r˜   rœ   rŸ   r¢   r¥   r§   r™   r*   r&   r$   r,   r,   A   s  € € € € € € ð ÐÐÑàð(ð (ð (ñ „Xð(ð ðð ð ñ „Uðð ðð ð ñ „Xðð ð2ð 2ð 2ñ „Xð2ð ðð ð ñ „Uðð* Ø ØØ ð
(ð 
(ð 
(ð 
(ð 
(ð ð
 Ø ð
ð 
ð 
ð 
ñ „Uð
ð*(ð (ð (ð (ð ð)ð )ð )ñ „Uð)ð$ (,ð(ð (ð (ð (ð (ð (,ð(ð (ð (ð (ð (ð ð.ð .ð .ñ „Uð.ð ð
ð 
ð 
ñ „Uð
ð ð
ð 
ð 
ñ „Uð
ð ð
ð 
ð 
ð 
ñ „Uð
ð, ð
ð 
ð 
ð 
ñ „Uð
ð ð
ð 
ð 
ñ „Uð
ð ð
ð 
ð 
ñ „Uð
ð ð
 Øðð ð ð ñ „Uðð,
ð 
ð 
ð 
ð
ð 
ð 
ð 
ðVð Vð Vð Vðð ð ð ðð ð ð ðð ð ð ð ð r&   r,   c                  óv   — e Zd Zedd„¦   «         Zeedd„¦   «         ¦   «         Zddd
„Zd„ Ze	dd„¦   «         Z
dS )ÚSingleDataManagerr.   ú
Literal[1]c                ó   — dS )NrC   r*   r"   s    r$   r7   zSingleDataManager.ndimH  s   € àˆqr&   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&   Tr‚   rI   rA   c                óü   — | j         }t          |t          j        ¦  «        rt	          |j        |¦  «        }t          |t          j        ¦  «        r&|j        dk    rt          |¦  «        dk    r|d         }|||<   dS )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.
        rC   )r   .N)r±   r^   ÚnpÚndarrayr   Údtyper7   r4   )r#   rN   rv   r‚   Úarrs        r$   Úsetitem_inplacez!SingleDataManager.setitem_inplaceU  sv   € ð Œjˆõ �c�2œ:Ñ&Ô&ð 	:õ (¨¬	°5Ñ9Ô9ˆEå�e�RœZÑ(Ô(ð 	"¨U¬Z¸1ª_¨_ÅÀUÁÄÈqÂÀà˜&”MˆEàˆˆG‰ˆˆr&   c                ó¨   — | j         } ||¦  «        }t          t          |¦  «        ¦  «        }t          | ¦  «                             ||¦  «        }|S r0   )r±   r   r4   r_   Ú
from_array)r#   ro   r¶   ÚresÚindexÚmgrs         r$   Úgrouped_reducez SingleDataManager.grouped_reducem  sI   € ØŒjˆØˆd�3‰iŒiˆÝ�c #™hœhÑ'Ô'ˆå�4‰jŒj×#Ò# C¨Ñ/Ô/ˆØˆ
r&   r¶   r»   r   c                ó    — t          | ¦  «        ‚r0   r   )Úclsr¶   r»   s      r$   r¹   zSingleDataManager.from_arrayu  s   € å! #Ñ&Ô&Ð&r&   N)r.   r­   )r.   r   )T)r‚   rI   r.   rA   )r¶   r   r»   r   )r'   r(   r)   rª   r7   r   r±   r·   r½   Úclassmethodr¹   r*   r&   r$   r¬   r¬   G  s¤   € € € € € Øðð ð ñ „Xðð Øðð ð ñ „Xñ „Uððð ð ð ð ð0ð ð ð ð'ð 'ð 'ñ „[ð'ð 'ð 'r&   r¬   Údtypesúlist[DtypeObj]r.   úDtypeObj | Nonec                óB   — t          | ¦  «        sdS 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)r4   r   )rÁ   s    r$   Úinterleaved_dtyperÅ   z  s%   € õ ˆv‰;Œ;ð Øˆtå˜FÑ#Ô#Ð#r&   rµ   r   únp.dtypec                ó*  — t          | t          ¦  «        r"| j        } t          t          j        | ¦  «        } n[t          | t          ¦  «        rt	          j        d¦  «        } n1| t	          j        t          ¦  «        k    rt	          j        d¦  «        } | S )NrX   )r^   r   Úsubtyper   r³   rµ   r   Ústr)rµ   s    r$   Úensure_np_dtyperÊ   �  sz   € õ �%�Ñ%Ô%ð #Ø”ˆÝ•R”X˜uÑ%Ô%ˆˆÝ	�E�>Ñ	*Ô	*ð #Ý”˜Ñ"Ô"ˆˆØ	•"”(�3‘-”-Ò	Ð	Ý”˜Ñ"Ô"ˆØ€Lr&   )rÁ   rÂ   r.   rÃ   )rµ   r   r.   rÆ   ).Ú__doc__Ú
__future__r   Útypingr   r   r   r   r   Únumpyr³   Úpandas._configr	   r
   Úpandas._libsr   rz   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Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð
 *Ð )Ð )Ð )Ð )Ð )Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð
 ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð$ð $ð $ð $ð $ñ $ô $ð $ðCð Cð Cð Cð C�,ñ Cô Cð CðL0'ð 0'ð 0'ð 0'ð 0'˜ñ 0'ô 0'ð 0'ðf$ð $ð $ð $ð&
ð 
ð 
ð 
ð 
ð 
r&   