hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
Ë
nñúh÷DãóʗdZddlmZddlZddlmZddlZddlm    Z    ddl
m Z ddl m Z ddlmZdd    lmZdd
lmZd d d ddœZGd„d«Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zy)zn
Methods that can be shared by many array-like classes or subclasses:
    Series
    Index
    ExtensionArray
é)Ú annotationsN)ÚAny)Úlib)Ú!maybe_dispatch_ufunc_to_dunder_op)Ú
ABCNDFrame)Ú    roperator©Ú extract_array)Úunpack_zerodim_and_deferÚmaxÚminÚsumÚprod)ÚmaximumÚminimumÚaddÚmultiplycó.—eZdZd„Zed«d„«Zed«d„«Zed«d„«Zed«d    „«Zed
«d „«Z    ed «d „«Z
d„Z ed«d„«Z ed«d„«Z ed«d„«Zed«d„«Zed«d„«Zed«d„«Zd„Zed«d„«Zed«d„«Zed «d!„«Zed"«d#„«Zed$«d%„«Zed&«d'„«Zed(«d)„«Zed*«d+„«Zed,«d-„«Zed.«d/„«Zed0«d1„«Zed2«d3„«Zed4«d5„«Zed6«d7„«Z ed8«d9„«Z!ed:«d;„«Z"y<)=ÚOpsMixincó—tS©N©ÚNotImplemented©ÚselfÚotherÚops   úHH:\Change_password\venv_build\Lib\site-packages\pandas/core/arraylike.pyÚ _cmp_methodzOpsMixin._cmp_method#ó€ÜÐóÚ__eq__cóB—|j|tj«Sr)rÚoperatorÚeq©rrs  rr"zOpsMixin.__eq__&ó€à×Ñ ¤x§{¡{Ó3Ð3r!Ú__ne__cóB—|j|tj«Sr)rr$Úner&s  rr(zOpsMixin.__ne__*r'r!Ú__lt__cóB—|j|tj«Sr)rr$Últr&s  rr+zOpsMixin.__lt__.r'r!Ú__le__cóB—|j|tj«Sr)rr$Úler&s  rr.zOpsMixin.__le__2r'r!Ú__gt__cóB—|j|tj«Sr)rr$Úgtr&s  rr1zOpsMixin.__gt__6r'r!Ú__ge__cóB—|j|tj«Sr)rr$Úger&s  rr4zOpsMixin.__ge__:r'r!có—tSrrrs   rÚ_logical_methodzOpsMixin._logical_methodAr r!Ú__and__cóB—|j|tj«Sr)r8r$Úand_r&s  rr9zOpsMixin.__and__Ds€à×#Ñ# E¬8¯=©=Ó9Ð9r!Ú__rand__cóB—|j|tj«Sr)r8rÚrand_r&s  rr<zOpsMixin.__rand__Hs€à×#Ñ# E¬9¯?©?Ó;Ð;r!Ú__or__cóB—|j|tj«Sr)r8r$Úor_r&s  rr?zOpsMixin.__or__Ló€à×#Ñ# E¬8¯<©<Ó8Ð8r!Ú__ror__cóB—|j|tj«Sr)r8rÚror_r&s  rrCzOpsMixin.__ror__Pó€à×#Ñ# E¬9¯>©>Ó:Ð:r!Ú__xor__cóB—|j|tj«Sr)r8r$Úxorr&s  rrGzOpsMixin.__xor__TrBr!Ú__rxor__cóB—|j|tj«Sr)r8rÚrxorr&s  rrJzOpsMixin.__rxor__XrFr!có—tSrrrs   rÚ _arith_methodzOpsMixin._arith_method_r r!Ú__add__cóB—|j|tj«S)a/
        Get Addition of DataFrame and other, column-wise.
 
        Equivalent to ``DataFrame.add(other)``.
 
        Parameters
        ----------
        other : scalar, sequence, Series, dict or DataFrame
            Object to be added to the DataFrame.
 
        Returns
        -------
        DataFrame
            The result of adding ``other`` to DataFrame.
 
        See Also
        --------
        DataFrame.add : Add a DataFrame and another object, with option for index-
            or column-oriented addition.
 
        Examples
        --------
        >>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},
        ...                   index=['elk', 'moose'])
        >>> df
               height  weight
        elk       1.5     500
        moose     2.6     800
 
        Adding a scalar affects all rows and columns.
 
        >>> df[['height', 'weight']] + 1.5
               height  weight
        elk       3.0   501.5
        moose     4.1   801.5
 
        Each element of a list is added to a column of the DataFrame, in order.
 
        >>> df[['height', 'weight']] + [0.5, 1.5]
               height  weight
        elk       2.0   501.5
        moose     3.1   801.5
 
        Keys of a dictionary are aligned to the DataFrame, based on column names;
        each value in the dictionary is added to the corresponding column.
 
        >>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}
               height  weight
        elk       2.0   501.5
        moose     3.1   801.5
 
        When `other` is a :class:`Series`, the index of `other` is aligned with the
        columns of the DataFrame.
 
        >>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])
        >>> df[['height', 'weight']] + s1
               height  weight
        elk       3.0   500.5
        moose     4.1   800.5
 
        Even when the index of `other` is the same as the index of the DataFrame,
        the :class:`Series` will not be reoriented. If index-wise alignment is desired,
        :meth:`DataFrame.add` should be used with `axis='index'`.
 
        >>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])
        >>> df[['height', 'weight']] + s2
               elk  height  moose  weight
        elk    NaN     NaN    NaN     NaN
        moose  NaN     NaN    NaN     NaN
 
        >>> df[['height', 'weight']].add(s2, axis='index')
               height  weight
        elk       2.0   500.5
        moose     4.1   801.5
 
        When `other` is a :class:`DataFrame`, both columns names and the
        index are aligned.
 
        >>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},
        ...                      index=['elk', 'moose', 'deer'])
        >>> df[['height', 'weight']] + other
               height  weight
        deer      NaN     NaN
        elk       1.7     NaN
        moose     3.0     NaN
        )rNr$rr&s  rrOzOpsMixin.__add__bs€ðp×!Ñ! %¬¯©Ó6Ð6r!Ú__radd__cóB—|j|tj«Sr)rNrÚraddr&s  rrQzOpsMixin.__radd__¼ó€à×!Ñ! %¬¯©Ó8Ð8r!Ú__sub__cóB—|j|tj«Sr)rNr$Úsubr&s  rrUzOpsMixin.__sub__Àó€à×!Ñ! %¬¯©Ó6Ð6r!Ú__rsub__cóB—|j|tj«Sr)rNrÚrsubr&s  rrYzOpsMixin.__rsub__ÄrTr!Ú__mul__cóB—|j|tj«Sr)rNr$Úmulr&s  rr\zOpsMixin.__mul__ÈrXr!Ú__rmul__cóB—|j|tj«Sr)rNrÚrmulr&s  rr_zOpsMixin.__rmul__ÌrTr!Ú __truediv__cóB—|j|tj«Sr)rNr$Útruedivr&s  rrbzOpsMixin.__truediv__Ðs€à×!Ñ! %¬×)9Ñ)9Ó:Ð:r!Ú __rtruediv__cóB—|j|tj«Sr)rNrÚrtruedivr&s  rrezOpsMixin.__rtruediv__Ôs€à×!Ñ! %¬×);Ñ);Ó<Ð<r!Ú __floordiv__cóB—|j|tj«Sr)rNr$Úfloordivr&s  rrhzOpsMixin.__floordiv__Øs€à×!Ñ! %¬×):Ñ):Ó;Ð;r!Ú __rfloordivcóB—|j|tj«Sr)rNrÚ    rfloordivr&s  rÚ __rfloordiv__zOpsMixin.__rfloordiv__Üs€à×!Ñ! %¬×)<Ñ)<Ó=Ð=r!Ú__mod__cóB—|j|tj«Sr)rNr$Úmodr&s  rrozOpsMixin.__mod__àrXr!Ú__rmod__cóB—|j|tj«Sr)rNrÚrmodr&s  rrrzOpsMixin.__rmod__ärTr!Ú
__divmod__có.—|j|t«Sr)rNÚdivmodr&s  rruzOpsMixin.__divmod__ès€à×!Ñ! %¬Ó0Ð0r!Ú __rdivmod__cóB—|j|tj«Sr)rNrÚrdivmodr&s  rrxzOpsMixin.__rdivmod__ìs€à×!Ñ! %¬×):Ñ):Ó;Ð;r!Ú__pow__cóB—|j|tj«Sr)rNr$Úpowr&s  rr{zOpsMixin.__pow__ðrXr!Ú__rpow__cóB—|j|tj«Sr)rNrÚrpowr&s  rr~zOpsMixin.__rpow__ôrTr!N)#Ú__name__Ú
__module__Ú __qualname__rr r"r(r+r.r1r4r8r9r<r?rCrGrJrNrOrQrUrYr\r_rbrerhrnrorrrurxr{r~©r!rrrsЄòñ˜hÓ'ñ4ó(ð4ñ˜hÓ'ñ4ó(ð4ñ˜hÓ'ñ4ó(ð4ñ˜hÓ'ñ4ó(ð4ñ˜hÓ'ñ4ó(ð4ñ˜hÓ'ñ4ó(ð4ò ñ˜iÓ(ñ:ó)ð:ñ˜jÓ)ñ<ó*ð<ñ˜hÓ'ñ9ó(ð9ñ˜iÓ(ñ;ó)ð;ñ˜iÓ(ñ9ó)ð9ñ˜jÓ)ñ;ó*ð;ò ñ˜iÓ(ñW7ó)ðW7ñr˜jÓ)ñ9ó*ð9ñ˜iÓ(ñ7ó)ð7ñ˜jÓ)ñ9ó*ð9ñ˜iÓ(ñ7ó)ð7ñ˜jÓ)ñ9ó*ð9ñ˜mÓ,ñ;ó-ð;ñ˜nÓ-ñ=ó.ð=ñ˜nÓ-ñ<ó.ð<ñ˜mÓ,ñ>ó-ð>ñ˜iÓ(ñ7ó)ð7ñ˜jÓ)ñ9ó*ð9ñ˜lÓ+ñ1ó,ð1ñ˜mÓ,ñ<ó-ð<ñ˜iÓ(ñ7ó)ð7ñ˜jÓ)ñ9ó*ñ9r!rcóv‡‡‡‡‡‡‡‡‡‡ —ddlm}m}ddlmŠddlmŠmŠt‰«}tdi|¤Ž}t‰‰‰g|¢­i|¤Ž}|tur|Stjj|jf}    |D]s}
t|
d«xr|
j ‰j kD} t|
d«xr0t|
«j|    vxrt#|
‰j$« } | s| sŒmtcSt'd„|D««} t)|| «Dcgc]\}}t+|‰«sŒ|‘Œc}}Št-‰«dkDrÎt/| «}t-|«dkDr"||hj1|«rt3d    ‰›d
«‚‰j4}‰dd D]@}t7t)||j4««D]\}\}}|j9|«||<ŒŒBt;t)‰j<|««Št'ˆˆfd „t)|| «D««}n)t;t)‰j<‰j4««Š‰j>dk(rI|Dcgc]}t|d «sŒtA|d «‘Œ}}t-t/|««dk(r|dnd }d |iŠ niŠ ˆˆfd„}ˆˆˆˆˆˆ ˆfd„Šd|vrtC‰‰‰g|¢­i|¤Ž}||«S‰dk(rtE‰‰‰g|¢­i|¤Ž}|tur|S‰j>dkDrBt-|«dkDs‰jFdkDr%t'd„|D««}tA‰‰«|i|¤Ž}nz‰j>dk(r%t'd„|D««}tA‰‰«|i|¤Ž}nF‰dk(r-|s+|djH}|jKtA‰‰««}ntM|d‰‰g|¢­i|¤Ž}||«}|Scc}}wcc}w)z˜
    Compatibility with numpy ufuncs.
 
    See also
    --------
    numpy.org/doc/stable/reference/arrays.classes.html#numpy.class.__array_ufunc__
    r)Ú    DataFrameÚSeries)ÚNDFrame)Ú ArrayManagerÚ BlockManagerÚ__array_priority__Ú__array_ufunc__c3ó2K—|]}t|«–—Œy­wr)Útype©Ú.0Úxs  rú    <genexpr>zarray_ufunc.<locals>.<genexpr>,sèø€Ò*˜a”$q—'Ñ*ùs‚ézCannot apply ufunc z& to mixed DataFrame and Series inputs.Nc3ód•K—|]'\}}t|‰«r|jdi‰¤Žn|–—Œ)y­w)Nr„)Ú
issubclassÚreindex)rr‘ÚtrˆÚreconstruct_axess   €€rr’zarray_ufunc.<locals>.<genexpr>Ds:øèø€ò
ᐐ1ô.8¸¸7Ô-CˆIˆAI‰IÑ )Ð(Ò )ÈÓ Jñ
ùsƒ-0ÚnamecóZ•—‰jdkDrtˆfd„|D««S‰|«S)Nr“c3ó.•K—|] }‰|«–—Œy­wrr„)rr‘Ú _reconstructs  €rr’z3array_ufunc.<locals>.reconstruct.<locals>.<genexpr>Usøèø€Ò9¨Q™ aŸÑ9ùsƒ)ÚnoutÚtuple)ÚresultrœÚufuncs €€rÚ reconstructz array_ufunc.<locals>.reconstructRs*ø€Ø :‰:˜Š>äÓ9°&Ô9Ó9Ð 9á˜FÓ#Ð#r!cóJ•—tj|«r|S|j‰jk7r ‰dk(rt‚|St    |‰‰f«r‰j ||j ¬«}n‰j|fi‰¤‰¤ddi¤Ž}t‰«dk(r|j‰«}|S)NÚouter)ÚaxesÚcopyFr“)
rÚ    is_scalarÚndimÚNotImplementedErrorÚ
isinstanceÚ_constructor_from_mgrr¤Ú _constructorÚlenÚ __finalize__)rŸr‰rŠÚ    alignableÚmethodr˜Úreconstruct_kwargsrs €€€€€€€rrœz!array_ufunc.<locals>._reconstructYs±ø€Ü =‰=˜Ô  ØˆMà ;‰;˜$Ÿ)™)Ò #ؘҠÜ)Ð)؈MÜ f˜|¨\Ð:Ô ;à×/Ñ/°¸V¿[¹[Ð/ÓI‰Fð'T×&Ñ&ØñØ*ðØ.@ñØGLòˆFô ˆy‹>˜QÒ Ø×(Ñ(¨Ó.ˆF؈ r!ÚoutÚreducec3óFK—|]}tj|«–—Œy­wr)ÚnpÚasarrayrs  rr’zarray_ufunc.<locals>.<genexpr>ˆsèø€Ò5¨”r—z‘z !—}Ñ5ùs‚!c3ó6K—|]}t|d¬«–—Œy­w)T)Ú extract_numpyNr    rs  rr’zarray_ufunc.<locals>.<genexpr>Žsèø€ÒLÀ”} Q°d×;Ð;ÑLùs‚Ú__call__r„)'Úpandas.core.framer†r‡Úpandas.core.genericrˆÚpandas.core.internalsr‰rŠrŽÚ_standardize_out_kwargrrr´ÚndarrayrŒÚhasattrr‹r©Ú_HANDLED_TYPESržÚzipr•r¬ÚsetÚissubsetr¨r¤Ú    enumerateÚunionÚdictÚ _AXIS_ORDERSr§ÚgetattrÚdispatch_ufunc_with_outÚdispatch_reduction_ufuncrÚ_mgrÚapplyÚdefault_array_ufunc)!rr r¯ÚinputsÚkwargsr†r‡ÚclsrŸÚno_deferÚitemÚhigher_priorityÚhas_array_ufuncÚtypesr‘r—Ú    set_typesr¤ÚobjÚiÚax1Úax2Únamesr™r¡Úmgrr‰rŠrˆrœr®r˜r°s!```                       @@@@@@@rÚ array_ufuncrÜýsÝÿù€÷õ,÷ô
ˆt‹*€Cä #Ñ - fÑ -€Fô/¨t°U¸FÐ VÀVÒ VÈvÑ V€FØ ”^Ñ#؈ ô     
‰
×"Ñ"Ø ×Ñð€Hð
ò "ˆä DÐ.Ó /ò BØ×'Ñ'¨$×*AÑ*AÑAð    ô
DÐ+Ó ,ò :ܐT“
×*Ñ*°(Ð:ò :ä˜t T×%8Ñ%8Ó9Ð9ð    ñ
šoÜ!Ò !ð "ô Ñ* 6Ô*Ó *€EÜ" 6¨5Ó1×L‘tq˜!´ZÀÀ7Õ5K’ÓL€Iä
ˆ9ƒ~˜Òô
˜“Jˆ    Ü ˆy‹>˜AÒ  9¨fÐ"5×">Ñ">¸yÔ"Iô&Ø% e WÐ,RÐSóð ðy‰yˆØ˜Q˜R=ò    )ˆCô"+¬3¨t°S·X±XÓ+>Ó!?ò )‘ ‘:C˜ØŸ)™) C›.Q’ñ )ð    )ô  ¤ D×$5Ñ$5°tÓ <Ó=ÐÜô
ä˜F EÓ*ô
ó
‰ô
 ¤ D×$5Ñ$5°t·y±yÓ AÓBÐà ‡yyA‚~Ø-3ÖJ¨´w¸qÀ&Õ7I”˜˜FÕ#ÐJˆÐJÜœs 5›z›?¨aÒ/ˆuQŠx°TˆØ$ d˜^ÑàÐõ$÷òð0 ä(¨¨u°fÐP¸vÒPÈÑPˆÙ˜6Ó"Ð"à Òä)¨$°°vÐQÀÒQÈ&ÑQˆØ œÑ '؈Mð
 ‡yy1‚}œ#˜f›+¨š/¨U¯Z©Z¸!ª^ôÑ5¨fÔ5Ó5ˆð(”˜ Ó'¨Ð:°6Ñ:‰Ø     ‰aŠäÑLÀVÔLÓLˆØ'”˜ Ó'¨Ð:°6Ñ:‰ð ZÒ ©ð˜‘)—.‘.ˆCØ—Y‘Yœw u¨fÓ5Ó6‰Fô)¨°©°E¸6ÐUÀFÒUÈfÑUˆFñ˜Ó  €FØ €MùóeMùò>KsÄN0Ä&N0ÉN6ÉN6c ót—d|vr3d|vr/d|vr+|jd«}|jd«}||f}||d<|S)z²
    If kwargs contain "out1" and "out2", replace that with a tuple "out"
 
    np.divmod, np.modf, np.frexp can have either `out=(out1, out2)` or
    `out1=out1, out2=out2)`
    r±Úout1Úout2)Úpop)rÎrÞrßr±s    rr¼r¼¢sM€ð Fјv¨Ñ/°F¸fÑ4D؏z‰z˜&Ó!ˆØz‰z˜&Ó!ˆØTˆlˆØˆˆu‰ Ø €Mr!cóº—|jd«}|jdd«}t||«|i|¤Ž}|turtSt|t«rPt|t«rt |«t |«k7rt ‚t||«D]\}}    t||    |«Œ|St|t«rt |«dk(r|d}nt ‚t|||«|S)zz
    If we have an `out` keyword, then call the ufunc without `out` and then
    set the result into the given `out`.
    r±ÚwhereNr“r)    ràrÇrr©ržr¬r¨rÀÚ _assign_where)
rr r¯rÍrÎr±rârŸÚarrÚress
          rrÈrȱsӀð *‰*UÓ
€CØ J‰Jw Ó %€Eà #ŒWU˜FÓ # VÐ 6¨vÑ 6€Fà ”ÑÜÐä&œ%Ô ä˜#œuÔ%¬¨S«´S¸³[Ò)@Ü%Ð %ä˜C Ó(ò    +‰HˆCÜ ˜#˜s EÕ *ð    +ðˆ
ä#”uÔÜ ˆs‹8qŠ=ؐa‘&‰Cä%Ð %ä#v˜uÔ%Ø €Jr!cóB—|€||ddytj|||«y)zV
    Set a ufunc result into 'out', masking with a 'where' argument if necessary.
    N)r´Úputmask)r±rŸrâs   rrãrãÔs"€ð €}àˆ‰A‰ä

‰
3˜˜vÕ&r!c󶇗tˆfd„|D««st‚|Dcgc]}|‰ur|ntj|«‘Œ}}t    ||«|i|¤ŽScc}w)z
    Fallback to the behavior we would get if we did not define __array_ufunc__.
 
    Notes
    -----
    We are assuming that `self` is among `inputs`.
    c3ó&•K—|]}|‰u–—Œ
y­wrr„)rr‘rs  €rr’z&default_array_ufunc.<locals>.<genexpr>çsøèø€Ò)˜QˆqDŒyÑ)ùsƒ)Úanyr¨r´rµrÇ)rr r¯rÍrÎr‘Ú
new_inputss`      rrÌrÌßs^ø€ô Ó) &Ô)Ô )Ü!Ð!àAGÖH¸Aq ‘}‘!¬"¯*©*°Q«-Ñ7ÐH€JÐHà !Œ75˜&Ó ! :Ð 8°Ñ 8Ð8ùòIs "AcóB—|dk(sJ‚t|«dk7s|d|urtS|jtvrtSt|j}t    ||«stS|j
dkDrt |t«rd|d<d|vrd|d<t||«dddi|¤ŽS)    z@
    Dispatch ufunc reductions to self's reduction methods.
    r²r“rFÚ numeric_onlyÚaxisÚskipnar„)    r¬rrÚREDUCTION_ALIASESr¾r§r©rrÇ)rr r¯rÍrÎÚ method_names      rrÉrÉïs²€ð XÒ ÐÐ ä
ˆ6ƒ{aÒ˜6 !™9¨DÑ0ÜÐà ‡~~Ô.Ñ.ÜÐä# E§N¡NÑ3€Kô 4˜Ô %ÜÐà ‡yy1‚}Ü dœJÔ 'à%*ˆF>Ñ "à ˜Ñ ðˆF6‰Nð &Œ74˜Ó %Ñ =¨UÐ =°fÑ =Ð=r!)r únp.ufuncr¯ÚstrrÍrrÎr)ÚreturnrÅ)r ròr¯ró)rôÚNone)Ú__doc__Ú
__future__rr$ÚtypingrÚnumpyr´Ú pandas._libsrÚpandas._libs.ops_dispatchrÚpandas.core.dtypes.genericrÚ pandas.corerÚpandas.core.constructionr
Úpandas.core.ops.commonr rðrrÜr¼rÈrãrÌrÉr„r!rú<module>rsnðñõ #ãÝãåÝGå1å!Ý2Ý;ðØØ Øñ    Ð÷W9ñW9ó|bóJ ó óF'ó 9ô #>r!