hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
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
163
164
165
166
167
168
169
170
171
172
Ë
nñúhº(ãó†—ddlmZddlZddlmZmZddlZddlm    Z    m
Z
ddl m Z ddl mZddlmZddlmZmZmZmZmZdd    lmZdd
lmZdd lmZdd lmZdd lm Z ddl!m"Z"ddl#m$Z$erddl%m&Z&ejNd«Z(gd¢Z)                d                                    dd„Z*dd„Z+            d                                    dd„Z,d d„Z-d!d"d„Z.d„Z/d#d„Z0d$d„Z1y)%é)Ú annotationsN)Ú TYPE_CHECKINGÚcast)ÚNaTÚlib)ÚInvalidIndexError)Úfind_common_type)Ú    safe_sort)ÚIndexÚ
_new_IndexÚ ensure_indexÚensure_index_from_sequencesÚget_unanimous_names)ÚCategoricalIndex)Ú DatetimeIndex)Ú IntervalIndex)Ú
MultiIndex)Ú PeriodIndex)Ú
RangeIndex)ÚTimedeltaIndex)ÚAxiszôSorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.
 
To accept the future behavior, pass 'sort=False'.
 
To retain the current behavior and silence the warning, pass 'sort=True'.
)r rrrrrrrrr rr rÚget_objs_combined_axisÚ union_indexesrÚall_indexes_sameÚ default_indexÚsafe_sort_indexcóf—|Dcgc]}|j|«‘Œ}}t||||¬«Scc}w)añ
    Extract combined index: return intersection or union (depending on the
    value of "intersect") of indexes on given axis, or None if all objects
    lack indexes (e.g. they are numpy arrays).
 
    Parameters
    ----------
    objs : list
        Series or DataFrame objects, may be mix of the two.
    intersect : bool, default False
        If True, calculate the intersection between indexes. Otherwise,
        calculate the union.
    axis : {0 or 'index', 1 or 'outer'}, default 0
        The axis to extract indexes from.
    sort : bool, default True
        Whether the result index should come out sorted or not.
    copy : bool, default False
        If True, return a copy of the combined index.
 
    Returns
    -------
    Index
    )Ú    intersectÚsortÚcopy)Ú    _get_axisÚ_get_combined_index)ÚobjsrÚaxisrr ÚobjÚ    obs_idxess       úJH:\Change_password\venv_build\Lib\site-packages\pandas/core/indexes/api.pyrrHs6€ð<15Ö5¨—‘˜tÕ$Ð5€IÐ5Ü ˜y°IÀDÈtÔ TÐTùò6s….cóž—t«}g}|D];}t|«|vsŒ|jt|««|j|«Œ=|S)z^
    Return a list with distinct elements of "objs" (different ids).
    Preserves order.
    )ÚsetÚidÚaddÚappend)r#ÚidsÚresr%s    r'Ú_get_distinct_objsr/jsM€ô
“E€CØ
€CØòˆÜ ˆc‹7˜#Ò Ø G‰G”Bs“GÔ Ø J‰JsOðð €Jócó,—t|«}t|«dk(r tg«}nOt|«dk(r|d}n;|r!|d}|ddD]}|j|«}Œnt    |d¬«}t |«}|r t |«}|r|j«}|S)a
    Return the union or intersection of indexes.
 
    Parameters
    ----------
    indexes : list of Index or list objects
        When intersect=True, do not accept list of lists.
    intersect : bool, default False
        If True, calculate the intersection between indexes. Otherwise,
        calculate the union.
    sort : bool, default False
        Whether the result index should come out sorted or not.
    copy : bool, default False
        If True, return a copy of the combined index.
 
    Returns
    -------
    Index
    réNF©r)r/Úlenr Ú intersectionrr rr )Úindexesrrr ÚindexÚothers      r'r"r"xs¡€ô4! Ó)€GÜ
ˆ7ƒ|qÒܐb“    ‰Ü     ˆW‹˜Ò    Ø˜‘
‰Ù    Ø˜‘
ˆØ˜Q˜R[ò    .ˆEØ×&Ñ& uÓ-‰Eñ    .ô˜g¨EÔ2ˆÜ˜UÓ#ˆá Ü Ó&ˆá Ø—
‘
“ ˆà €Lr0có\—|jr|S    t|«}t|t«r|St    t
j |«}t|t«r#tj||j¬«}|St||j|j¬«}|S#t$rY|SwxYw)zª
    Returns the sorted index
 
    We keep the dtypes and the name attributes.
 
    Parameters
    ----------
    index : an Index
 
    Returns
    -------
    Index
    )Únames)ÚnameÚdtype) Úis_monotonic_increasingr
Ú
isinstancer rÚnpÚndarrayrÚ from_tuplesr:r;r<Ú    TypeError)r7Ú array_sorteds  r'rr¨s£€ð ×$Ò$؈ ð LÜ  Ó'ˆ ô l¤EÔ *ØÐ äœBŸJ™J¨ Ó5ˆ Ü eœZÔ (Ü×*Ñ*¨<¸u¿{¹{ÔKˆEð €Lô˜,¨U¯Z©Z¸u¿{¹{ÔKˆEà €Løô ò Ø ð €Lð ús B    B+Â*B+có懇 —t‰«dk(r td«‚t‰«dk(r:‰d}t|t«r#‰s t    |«}|St    t |««}|St ‰«\Š}dˆfd„ }ˆfd„}|dk(rà‰d}‰Dcgc]}t|t«sŒ|‘Œ}}|Dcgc]}|j€Œ|‘Œ}}t|«dt|«fvr td«‚t|«t‰«k(rd    Š‰d}n:t|«dkDr,d
ЉDcgc]}|jtd
¬ «‘Œc}Љd}‰ddD]}    |j|    ‰rdnd
¬ «}Œ|S|d k(rZ|‰«}
‰dŠ tˆ fd„‰ddD««s    |‰|
«Š t‰Žd} | ‰ jk7r‰ j!| «Š ‰ S|‰«}
|‰|
«Scc}wcc}wcc}w)a)
    Return the union of indexes.
 
    The behavior of sort and names is not consistent.
 
    Parameters
    ----------
    indexes : list of Index or list objects
    sort : bool, default True
        Whether the result index should come out sorted or not.
 
    Returns
    -------
    Index
    rz#Must have at least 1 Index to unionr2c
óì•—td„|D««rŸ|Dcgc]}|j|d¬«‘Œ}}|dj«}|dj|dd«}||j    |«dk(}t |«r|j|j««}‰r|j «}|Sd    „}ttj|Dcgc]
}||«‘Œ c}‰¬
«|¬ «Scc}wcc}w) zô
        Concatenate indices and remove duplicates.
 
        Parameters
        ----------
        inds : list of Index or list objects
        dtype : dtype to set for the resulting Index
 
        Returns
        -------
        Index
        c3ó<K—|]}t|t«–—Œy­w©N)r>r )Ú.0Úinds  r'ú    <genexpr>z9union_indexes.<locals>._unique_indices.<locals>.<genexpr>ôsèø€Ò6¨#Œz˜#œu×%Ñ6ùs‚F©r rr2éNéÿÿÿÿcóF—t|t«r|j«}|SrG)r>r Útolist)Úis r'Úconvz4union_indexes.<locals>._unique_indices.<locals>.convÿs€Ü˜!œUÔ#Ø—H‘H“JØˆHr0r3)r<)
ÚallÚastypeÚuniquer,Úget_indexer_forr4Ú sort_valuesr rÚfast_unique_multiple_list)    Úindsr<rIÚresultr8ÚdiffrQrPrs            €r'Ú_unique_indicesz&union_indexes.<locals>._unique_indicesçsèø€ô Ñ6°Ô6Ô 6Ø=AÖB°cC—J‘J˜u¨5JÕ1ÐBˆDÐBؘ!‘W—^‘^Ó%ˆFؘ‘G—N‘N 4¨¨ 8Ó,ˆEؘ×/Ñ/°Ó6¸"Ñ<Ñ=ˆDܐ4ŒyØŸ™ t§{¡{£}Ó5ÙØ×+Ñ+Ó-ØˆMò    ô
Ü × )Ñ )¸DÖ*A°q©4°­7Ò*AÈÔ MØô
ð    
ùòCùò +Bs ˜C,ÃC1 c󈕗‰Dcgc]}t|t«sŒ|j‘Œ!}}|r t|«}|Sd}|Scc}w)a
        Finds a common type for the indexes to pass through to resulting index.
 
        Parameters
        ----------
        inds: list of Index or list objects
 
        Returns
        -------
        The common type or None if no indexes were given
        N)r>r r<r    )rXÚidxÚdtypesr<r6s    €r'Ú_find_common_index_dtypez/union_indexes.<locals>._find_common_index_dtype    sKø€ð(/ÖI ´*¸SÄ%Õ2H#—)“)ÐIˆÐIÙ Ü$ VÓ,ˆEðˆ ðˆEàˆ ùò Js†?œ?ÚspecialNz0Cannot join tz-naive with tz-aware DatetimeIndexTFrKr3Úarrayc3ó@•K—|]}‰j|«–—Œy­wrG©Úequals)rHr8r7s  €r'rJz union_indexes.<locals>.<genexpr>>søèø€Ò@¨55—<‘< ×&Ñ@ùóƒ)Úreturnr )r4ÚAssertionErrorr>Úlistr ÚsortedÚ_sanitize_and_checkrÚtzrBrSÚobjectÚunionrRrr;Úrename) r6rrYÚkindr[r_ÚxÚdtisÚdti_tzsr8r<r;r7s ``          @r'rrÊsú€ô  ˆ7ƒ|qÒÜÐBÓCÐCÜ
ˆ7ƒ|qÒØ˜‘ˆÜ fœdÔ #Ùܘv›ðˆ ôœv f›~Ó.Øˆ ä'¨Ó0M€GˆTõ 
ôDð( ˆyÒØ˜‘ˆà"ÖCa¤j°´MÕ&B’ÐCˆÐCØ"Ö7˜ a§d¡dÑ&6’1Ð7ˆÐ7Ü ˆw‹< ¤3 t£9˜~Ñ -ô
ÐNÓOÐ Oä ˆt‹9œ˜G› Ò $؈DؘQ‘Z‰Fä ‹Y˜Š]ðˆDð>EÖE¸q—x‘x¤¨UxÕ3ÒEˆGؘQ‘ZˆFà˜Q˜R[ò    GˆEØ—\‘\ %±d©dÀ\ÓF‰Fð    Gàˆ à     ŠÙ(¨Ó1ˆØ˜‘
ˆÜÓ@°G¸A¸B°KÔ@Ô@Ù# G¨UÓ3ˆEä" GÐ,¨QÑ/ˆØ 5—:‘:Ò Ø—L‘L Ó&ˆE؈ á(¨Ó1ˆÙ˜w¨Ó.Ð.ùòODùÚ7ùò&Fs GÂ"GÂ,GÂ>GÄGcó\—t|Dchc] }t|«’Œc}«}t|vr[t|«dkDrI|Dcgc](}t|t«st    t|««n|‘Œ*}}|j t«n|dfSt|«dkDst|vr|dfS|dfScc}wcc}w)aN
    Verify the type of indexes and convert lists to Index.
 
    Cases:
 
    - [list, list, ...]: Return ([list, list, ...], 'list')
    - [list, Index, ...]: Return _sanitize_and_check([Index, Index, ...])
        Lists are sorted and converted to Index.
    - [Index, Index, ...]: Return ([Index, Index, ...], TYPE)
        TYPE = 'special' if at least one special type, 'array' otherwise.
 
    Parameters
    ----------
    indexes : list of Index or list objects
 
    Returns
    -------
    sanitized_indexes : list of Index or list objects
    type : {'list', 'array', 'special'}
    r2rhr`ra)rhÚtyper4r>r Úremove)r6r7Úkindsrps    r'rjrjJs©€ô* ¨7Ö3 %”$u•+Ò3Ó 4€Eä ˆu}Ü ˆu‹:˜Š>àKRöØFG¤j°´EÔ&:””d˜1“g”ÀÑAðˆGðð L‰LœÕ à˜F?Ð "ä
ˆ5ƒzA‚~œ eÑ+ؘ    Ð!Ð!à˜ÐÐùò4ùòs
ŠB$½-B)cóX‡—t|«}t|«Štˆfd„|D««S)zî
    Determine if all indexes contain the same elements.
 
    Parameters
    ----------
    indexes : iterable of Index objects
 
    Returns
    -------
    bool
        True if all indexes contain the same elements, False otherwise.
    c3ó@•K—|]}‰j|«–—Œy­wrGrc)rHr7Úfirsts  €r'rJz#all_indexes_same.<locals>.<genexpr>søèø€Ò4 uˆu|‰|˜E×"Ñ4ùre)ÚiterÚnextrR)r6Úitrrys  @r'rrps(ø€ô ˆw‹-€CÜ ‹I€EÜ Ó4°Ô4Ó 4Ð4r0cóF—t|«}tj|d¬«S)N)r;)ÚrangerÚ _simple_new)ÚnÚrngs  r'rr‚s€Ü
‹(€CÜ × !Ñ ! #¨DÔ 1Ð1r0)FrTF)
rÚboolr$rrr‚r r‚rfr )r#ú list[Index]rfrƒ)FFF)
r6rƒrr‚rr‚r r‚rfr )r7r rfr )T)rz bool | Nonerfr )rfr‚)r€Úintrfr)2Ú
__future__rÚtextwrapÚtypingrrÚnumpyr?Ú pandas._libsrrÚ pandas.errorsrÚpandas.core.dtypes.castr    Úpandas.core.algorithmsr
Úpandas.core.indexes.baser r r rrÚpandas.core.indexes.categoryrÚpandas.core.indexes.datetimesrÚpandas.core.indexes.intervalrÚpandas.core.indexes.multirÚpandas.core.indexes.periodrÚpandas.core.indexes.rangerÚpandas.core.indexes.timedeltasrÚpandas._typingrÚdedentÚ    _sort_msgÚ__all__rr/r"rrrjrr©r0r'ú<module>ršsðÝ"ã÷ó
÷õ,å4å,÷õõ:Ý7Ý6Ý0Ý2Ý0Ý9áÝ#Ø ˆHO‰Oðó     €    ò €ð2ØØØð UàðUð ðUð ð    Uð
ð Uð  ó UóD ð ØØð    -Ø ð-àð-ð ð-ð ð    -ð
 ó -ó`ôD}/ò@# óL5ô$2r0