§
    Ð! h  ã                  ó  — d Z ddlmZ ddlmZ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mZ dd	lmZ ddlmc mZ dd
lmZ erddlmZ ddlmZ ddlm Z  ddl!m"Z" dd„Z#d d„Z$d!d„Z%d"d„Z&e&d„ ¦   «         Z'd„ Z(d„ Z)dS )#z!
Core eval alignment algorithms.
é    )Úannotations)ÚpartialÚwraps)ÚTYPE_CHECKINGÚCallableN)ÚPerformanceWarning)Úfind_stack_level)ÚABCDataFrameÚ	ABCSeries)ÚPandasObject)Úresult_type_many)ÚSequence)ÚF)ÚNDFrame)ÚIndexÚreturnú7tuple[partial | type[NDFrame], dict[str, Index] | None]c                ó  — d }t          | j        t          j        ¦  «        r&t	          t          j        | j        j        ¬¦  «        }nCt          | j        ¦  «        }t          | j        d¦  «        rt          || j        j
        ¦  «        }||fS )N)ÚdtypeÚaxes)Ú
isinstanceÚvalueÚnpÚndarrayr   Ú
asanyarrayr   ÚtypeÚhasattrÚ_zip_axes_from_typer   )Útermr   Útyps      úWc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/computation/align.pyÚ_align_core_single_unary_opr"   '   sz   € ð %)€Då�$”*�bœjÑ)Ô)ð =Ý•b”m¨4¬:Ô+;Ð<Ñ<Ô<ˆˆå�4”:ÑÔˆÝ�4”:˜vÑ&Ô&ð 	=Ý& s¨D¬J¬OÑ<Ô<ˆDà�ˆ9Ðó    r    útype[NDFrame]Únew_axesúSequence[Index]údict[str, Index]c                óD   ‡— ˆfd„t          | j        ¦  «        D ¦   «         S )Nc                ó(   •— i | ]\  }}|‰|         “ŒS © r*   )Ú.0ÚiÚnamer%   s      €r!   ú
<dictcomp>z'_zip_axes_from_type.<locals>.<dictcomp>:   s#   ø€ ÐIÐIÐI¡' ! TˆD�(˜1”+ÐIÐIÐIr#   )Ú	enumerateÚ_AXIS_ORDERS)r    r%   s    `r!   r   r   7   s+   ø€ ð JÐIÐIÐI­Y°sÔ7GÑ-HÔ-HÐIÑIÔIÐIr#   Úboolc                ó4   — t          d„ | D ¦   «         ¦  «        S )zB
    Check a sequence of terms for instances of PandasObject.
    c              3  óJ   K  — | ]}t          |j        t          ¦  «        V — Œd S ©N)r   r   r   ©r+   r   s     r!   ú	<genexpr>z&_any_pandas_objects.<locals>.<genexpr>A   s.   è è € ÐFÐF¸�z˜$œ*¥lÑ3Ô3ÐFÐFÐFÐFÐFÐFr#   )Úany)Útermss    r!   Ú_any_pandas_objectsr9   =   s!   € õ ÐFÐFÀÐFÑFÔFÑFÔFÐFr#   úCallable[[F], F]c                ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                ó¶   •— t          | ¦  «        dk    rt          | d         ¦  «        S d„ | D ¦   «         }t          | ¦  «        st          |Ž d fS  ‰| ¦  «        S )Né   r   c              3  ó$   K  — | ]}|j         V — Œd S r4   ©r   r5   s     r!   r6   z9_filter_special_cases.<locals>.wrapper.<locals>.<genexpr>K   s$   è è € Ð4Ð4 d�t”zÐ4Ð4Ð4Ð4Ð4Ð4r#   )Úlenr"   r9   r   )r8   Úterm_valuesÚfs     €r!   Úwrapperz&_filter_special_cases.<locals>.wrapperE   sh   ø€ õ ˆu‰:Œ:˜Š?ˆ?Ý.¨u°Q¬xÑ8Ô8Ð8à4Ð4¨eÐ4Ñ4Ô4ˆõ # 5Ñ)Ô)ð 	8Ý# [Ð1°4Ð7Ð7àˆq�‰xŒxˆr#   )r   )rB   rC   s   ` r!   Ú_filter_special_casesrD   D   s3   ø€ Ý
ˆ1�X„Xðð ð ð ñ „Xðð €Nr#   c                ó¨  ‡ — d„ t          ‰ ¦  «        D ¦   «         }ˆ fd„|D ¦   «         }ddlm}  |t          t	          ||¦  «        ¦  «        ¦  «        }‰ |                     ¦   «                  j        }|j        }|j        }t          |¦  «        }|dk    }	ˆ fd„|D ¦   «         D ]�}
t          |
t          ¦  «        }|o|	}t          |
j        ¦  «        D ]Q\  }}|r|dz
  |
j        }}n||}}||                              |¦  «        s||                              |¦  «        ||<   ŒRŒ‚|                     ¦   «         D �]…\  }}t	          t!          |¦  «        |¦  «        D �]5\  }}‰ |         j        }t#          |d¦  «        �rt          |t          ¦  «        o|dk    }|r||dz
           n|}t          |j        |         ¦  «        }t          |¦  «        }t%          j        t)          dt+          ||z
  ¦  «        ¦  «        ¦  «        }|dk    rS|dk    rMd	|› d
t-          ‰ |         j        ¦  «        › d|d›d�}t1          j        |t4          t7          ¦   «         ¬¦  «         |                     ||d¬¦  «        }‰ |                              |¦  «         �Œ7‰ |                              ‰ |         j        j        ¦  «         �Œ‡|t?          ||¦  «        fS )Nc                óB   — g | ]\  }}t          |j        d ¦  «        ¯|‘ŒS )r   )r   r   )r+   r,   r   s      r!   ú
<listcomp>z_align_core.<locals>.<listcomp>X   s-   € ÐSÐSÐS™˜˜4µw¸t¼zÈ6Ñ7RÔ7RÐS�!ÐSÐSÐSr#   c                ó4   •— g | ]}‰|         j         j        ‘ŒS r*   )r   Úndim©r+   r,   r8   s     €r!   rG   z_align_core.<locals>.<listcomp>Y   s"   ø€ Ð9Ð9Ð9¨��q””Ô$Ð9Ð9Ð9r#   r   )ÚSeriesr=   c              3  ó2   •K  — | ]}‰|         j         V — Œd S r4   r?   rJ   s     €r!   r6   z_align_core.<locals>.<genexpr>f   s)   øè è € Ð5Ð5 Q�%˜”(”.Ð5Ð5Ð5Ð5Ð5Ð5r#   Úreindexi'  zAlignment difference on axis z. is larger than an order of magnitude on term z, by more than z.4gz; performance may suffer.)ÚcategoryÚ
stacklevelF)ÚaxisÚcopy) r/   ÚpandasrK   ÚdictÚzipÚidxmaxr   Ú_constructorr   r@   r   r   ÚindexÚis_ÚunionÚitemsÚranger   r   Úlog10ÚmaxÚabsÚreprr-   ÚwarningsÚwarnr   r	   rM   ÚupdateÚvaluesr   )r8   Ú
term_indexÚ	term_dimsrK   ÚndimsÚbiggestr    r   ÚnaxesÚgt_than_one_axisr   Ú	is_seriesÚis_series_and_gt_one_axisrP   rZ   ÚaxÚitmr,   rI   ÚtiÚ	transposeÚ	reindexerÚterm_axis_sizeÚreindexer_sizeÚordmÚwÚobjs   `                          r!   Ú_align_corerv   V   s  ø€ àSÐS¥9¨UÑ#3Ô#3ÐSÑSÔS€JØ9Ð9Ð9Ð9¨jÐ9Ñ9Ô9€IàÐÐÐÐÐàˆF•4�˜J¨	Ñ2Ô2Ñ3Ô3Ñ4Ô4€Eð �E—L’L‘N”NÔ#Ô)€GØ
Ô
€CØŒ<€DÝ�‰IŒI€EØ˜q’yÐà5Ð5Ð5Ð5¨*Ð5Ñ5Ô5ð /ð /ˆÝ˜u¥iÑ0Ô0ˆ	Ø$-Ð$BÐ2BÐ!å$ U¤ZÑ0Ô0ð 	/ð 	/‰KˆD�%Ø(ð &Ø !™) U¤[�C��à �C�à˜”8—<’< Ñ$Ô$ð /Ø œ8Ÿ>š>¨#Ñ.Ô.��R‘øð	/ð —;’;‘=”=ð /ñ /‰ˆˆ4Ý�u T™{œ{¨DÑ1Ô1ð 	%ñ 	%‰KˆD�%Ø�q””ˆBå�r˜9Ñ%Ô%ñ %Ý& r­9Ñ5Ô5ÐC¸%À!º)�	Ø/8ÐC˜D ¨¡œO˜O¸e�	å!$ R¤W¨T¤]Ñ!3Ô!3�Ý!$ Y¡¤�å”x¥ A¥s¨>¸NÑ+JÑ'KÔ'KÑ LÔ LÑMÔM�Ø˜1’9�9 °5Ò!8Ð!8ðL¸ð Lð LÝ>BÀ5ÈÄ8Ä=Ñ>QÔ>QðLð Là(,ÐKðLð Lð Lð õ
 ”MØÕ$6ÕCSÑCUÔCUðñ ô ð ð —j’j °¸E�jÑBÔB�Ø�a”—’ Ñ$Ô$Ð$ùàˆaŒ�Š˜˜aœœÔ-Ñ.Ô.Ð.Ñ.àÕ# C¨Ñ.Ô.Ð.Ð.r#   c                óÖ  — 	 t          t          j        | ¦  «        ¦  «        } n~# t          $ rq t	          | j        t          t          f¦  «        r2t          | j        ¦  «        }|t          || j        j
        ¦  «        fcY S t          j        | j        ¦  «        dfcY S w xY wt          d„ | D ¦   «         ¦  «        rt          d„ | D ¦   «         Ž j        dfS t          | ¦  «        \  }}||fS )z
    Align a set of terms.
    Nc              3  ó$   K  — | ]}|j         V — Œd S r4   )Ú	is_scalarr5   s     r!   r6   zalign_terms.<locals>.<genexpr>    s$   è è € Ð
,Ð
,˜dˆ4Œ>Ð
,Ð
,Ð
,Ð
,Ð
,Ð
,r#   c              3  ó$   K  — | ]}|j         V — Œd S r4   r?   r5   s     r!   r6   zalign_terms.<locals>.<genexpr>¡   s$   è è € Ð!?Ð!?° $¤*Ð!?Ð!?Ð!?Ð!?Ð!?Ð!?r#   )ÚlistÚcomÚflattenÚ	TypeErrorr   r   r   r
   r   r   r   r   Úresult_typeÚallr   rv   )r8   r    r   s      r!   Úalign_termsr�   ‘   s  € ð0å•S”[ Ñ'Ô'Ñ(Ô(ˆˆøÝð 0ð 0ð 0å�e”k¥I­|Ð#<Ñ=Ô=ð 	CÝ�u”{Ñ#Ô#ˆCØÕ+¨C°´Ô1AÑBÔBÐBÐBÐBÐBÝŒ~˜eœjÑ)Ô)¨4Ð/Ð/Ð/Ð/ð0øøøõ Ð
,Ð
, eÐ
,Ñ
,Ô
,Ñ,Ô,ð LÝÐ!?Ð!?¸Ð!?Ñ!?Ô!?Ð@ÔEÀtÐKÐKõ ˜EÑ"Ô"�I€CˆØ�ˆ9Ðs   ‚!$ ¤ABÂBÂBc                óx  — 	 | j         } n# t          $ r Y nw xY wt          j        |j        |¦  «        }t          | t          ¦  «        s t          | t          ¦  «        r | |fd|i|¤ŽS t          |d¦  «        r6| t          j
        k    r&|t          j
        k    r|                      |¦  «        }n‹ | |¦  «                             |¦  «        }t          |j        ¦  «        dk    rUt          |¦  «        dk    rBt          |t          j        ¦  «        s(t          j        |g¦  «                             |¦  «        }|S )a°  
    Reconstruct an object given its type, raw value, and possibly empty
    (None) axes.

    Parameters
    ----------
    typ : object
        A type
    obj : object
        The value to use in the type constructor
    axes : dict
        The axes to use to construct the resulting pandas object

    Returns
    -------
    ret : typ
        An object of type ``typ`` with the value `obj` and possible axes
        `axes`.
    r   r   r=   )r   ÚAttributeErrorr   r   r   r   r   Ú
issubclassr   r   Úbool_Úastyper@   Úshaper   Úarray)r    ru   r   r   Úres_tÚ	ret_values         r!   Úreconstruct_objectr‹   ¨   s8  € ð(ØŒhˆˆøÝð ð ð Øˆðøøøõ ŒN˜3œ9 eÑ,Ô,€Eå�c�7Ñ#Ô#ð -­
°3½Ñ(EÔ(Eð -Øˆs�3Ð,Ð,˜eÐ, tÐ,Ð,Ð,õ ˆu�fÑÔð < #­¬¢/ /°e½r¼xÒ6GÐ6GØ—J’J˜s‘O”Oˆ	ˆ	à�C˜‘H”H—O’O EÑ*Ô*ˆ	õ
 �”	‰NŒN˜aÒÐÝ�C‘”˜A’�Ý˜y­"¬*Ñ5Ô5ð õ œ ) Ñ-Ô-×4Ò4°UÑ;Ô;ˆIàÐs   ‚
 Š
–)r   r   )r    r$   r%   r&   r   r'   )r   r1   )r   r:   )*Ú__doc__Ú
__future__r   Ú	functoolsr   r   Útypingr   r   r`   Únumpyr   Úpandas.errorsr   Úpandas.util._exceptionsr	   Úpandas.core.dtypes.genericr
   r   Úpandas.core.baser   Úpandas.core.commonÚcoreÚcommonr|   Úpandas.core.computation.commonr   Úcollections.abcr   Úpandas._typingr   Úpandas.core.genericr   Úpandas.core.indexes.apir   r"   r   r9   rD   rv   r�   r‹   r*   r#   r!   ú<module>r�      s  ððð ð #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð €€€à Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð
 *Ð )Ð )Ð )Ð )Ð )Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;àð .Ø(Ð(Ð(Ð(Ð(Ð(à Ð Ð Ð Ð Ð à+Ð+Ð+Ð+Ð+Ð+Ø-Ð-Ð-Ð-Ð-Ð-ðð ð ð ð Jð Jð Jð JðGð Gð Gð Gðð ð ð ð$ ð7/ð 7/ñ Ôð7/ðtð ð ð.-ð -ð -ð -ð -r#   