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
Ë
nñúhãóܗdZddlmZddlmZmZddlmZmZm    Z    ddl
Z ddl m ZddlmZmZmZmZmZmZddlmZerdd    lmZmZdd
lmZmZGd „d «ZGd „de«ZGd„de«Z y)z+
Implementation of nlargest and nsmallest.
é)Ú annotations)ÚHashableÚSequence)Ú TYPE_CHECKINGÚcastÚfinalN)Úalgos)Ú is_bool_dtypeÚis_complex_dtypeÚis_integer_dtypeÚ is_list_likeÚis_numeric_dtypeÚneeds_i8_conversion)ÚBaseMaskedDtype)ÚDtypeObjÚ
IndexLabel)Ú    DataFrameÚSeriescóX—eZdZdd„Zdd„Zed„«Zed„«Zeed    d„««Z    y)
ÚSelectNcó`—||_||_||_|jdvr td«‚y)N)ÚfirstÚlastÚallz,keep must be either "first", "last" or "all")ÚobjÚnÚkeepÚ
ValueError)Úselfrrrs    úNH:\Change_password\venv_build\Lib\site-packages\pandas/core/methods/selectn.pyÚ__init__zSelectN.__init__,s5€ØˆŒØˆŒØˆŒ    à 9‰9Ð4Ñ 4ÜÐKÓLÐ Lð 5ócó—t‚©N)ÚNotImplementedError)rÚmethods  r ÚcomputezSelectN.compute4s€Ü!Ð!r"có$—|jd«S)NÚnlargest©r'©rs r r)zSelectN.nlargest7s€à|‰|˜JÓ'Ð'r"có$—|jd«S)NÚ    nsmallestr*r+s r r-zSelectN.nsmallest;s€à|‰|˜KÓ(Ð(r"cóF—t|«r t|« St|«S)zg
        Helper function to determine if dtype is valid for
        nsmallest/nlargest methods
        )rr r©Údtypes r Úis_valid_dtype_n_methodzSelectN.is_valid_dtype_n_method?s%€ô ˜EÔ "Ü'¨Ó.Ð.Ð .Ü" 5Ó)Ð)r"N)rÚintrÚstrÚreturnÚNone)r&r3r4zDataFrame | Series)r0rr4Úbool)
Ú__name__Ú
__module__Ú __qualname__r!r'rr)r-Ú staticmethodr1©r"r rr+sQ„óMó"ð ñ(ó ð(ð ñ)ó ð)ð Øò*óó ñ*r"rcó—eZdZdZdd„Zy)Ú SelectNSerieszÊ
    Implement n largest/smallest for Series
 
    Parameters
    ----------
    obj : Series
    n : int
    keep : {'first', 'last'}, default 'first'
 
    Returns
    -------
    nordered : Series
    có—ddlm}|j}|jj}|j |«st d|›d|›«‚|dkr|jgS|jj«}|jj|j«}|t|j«k\r0|dk(}|jj|¬«j|«S|j}|j}    t|    j«r|    jd«}    n<t!|    jt"«r |    j$}    nt'j(|    «}    |    jj*dk(r|    jt&j,«}    |d    k(r%|     }    t/|«r|    d
z}    nt1|«rd
|     z
}    |j2d k(r|    ddd …}    |}
t|    «} t5|| «}t|    «dkDr*t7j8|    j;d ¬«|d
z
«} nt&j<} t'j>|    | k«\} | |    | jAd¬«}|j2dk7r|d|}|
}nOt|«|
cxkrt|«t|«zkrnnt|«t|«z}n t|«}|j2d k(r| d
z
|z
}||jB||g«jBd|S)Nr)ÚconcatzCannot use method 'z ' with dtype r-)Ú    ascendingÚi8Úbr)éréÿÿÿÿÚC)ÚorderÚ    mergesort)Úkindr)"Úpandas.core.reshape.concatr?rrr0r1Ú    TypeErrorÚdropnaÚdropÚindexÚlenÚ sort_valuesÚheadÚ_valuesrÚviewÚ
isinstancerÚ_dataÚnpÚasarrayrHÚuint8r r
rÚminÚlibalgosÚ kth_smallestÚcopyÚnanÚnonzeroÚargsortÚiloc)rr&r?rr0ÚdroppedÚ    nan_indexr@Ú    new_dtypeÚarrÚnbaseÚnarrÚkth_valÚnsÚindsÚfindexs                r r'zSelectNSeries.computeZsŽ€Ý5à F‰FˆØ—‘—‘ˆØ×+Ñ+¨EÔ2ÜÐ1°&°¸ÀuÀgÐNÓOÐ Oà Š6Ø—8‘8˜B‘<Ð à—(‘(—/‘/Ó#ˆØ—H‘H—M‘M '§-¡-Ó0ˆ    ð ”D—H‘H“ Ò Ø +Ñ-ˆIØ—8‘8×'Ñ'°)Ð'Ó<×AÑAÀ!ÓDÐ Dð—M‘Mˆ    ðo‰oˆÜ ˜sŸy™yÔ )Ø—(‘(˜4“.‰CÜ ˜Ÿ    ™    ¤?Ô 3Ø—)‘)‰Cä—*‘*˜S“/ˆCØ 9‰9>‰>˜SÒ  Ø—(‘(œ2Ÿ8™8Ó$ˆCà ZÒ Ø$ˆCÜ     Ô*àq‘‘ä˜yÔ)à˜C˜4‘jà 9‰9˜Ò Ø‘d˜d‘)ˆCàˆÜ3‹xˆÜ 4‹Lˆô
ˆs‹8aŠ<Ü×+Ñ+¨C¯H©H¸3¨HÓ,?ÀÀQÁÓG‰Gä—f‘fˆGÜ—
‘
˜3 '™>Ó*‰ˆØ#b‘'—/‘/ {/Ó3Ñ4ˆà 9‰9˜Ò ؘ˜8ˆD؉Fä4‹y˜5Ô>¤C¨    £N´S¸³YÑ$>Õ>ܘY›¬#¨d«)Ñ3‘ä˜T›à 9‰9˜Ò à˜!‘8˜d‘?ˆDáw—|‘| DÑ)¨9Ð5Ó6×;Ñ;¸G¸VÐDÐDr"N)r&r3r4r)r7r8r9Ú__doc__r'r;r"r r=r=Ks„ñ ôIEr"r=có,‡—eZdZdZdˆfd„ Zdd„ZˆxZS)Ú SelectNFramezí
    Implement n largest/smallest for DataFrame
 
    Parameters
    ----------
    obj : DataFrame
    n : int
    keep : {'first', 'last'}, default 'first'
    columns : list or str
 
    Returns
    -------
    nordered : DataFrame
    có¶•—t‰||||«t|«rt|t«r|g}t t t|«}t|«}||_    yr$)
Úsuperr!r rSÚtuplerrrÚlistÚcolumns)rrrrrqÚ    __class__s     €r r!zSelectNFrame.__init__¶sMø€Ü ‰Ñ˜˜a Ô&ܘGÔ$¬
°7¼EÔ(BؐiˆGä”x¤Ñ)¨7Ó3ˆÜw“-ˆØˆ r"c 󦇗ddlm}|j}|j}|j}|D]I}||j
}|j |«rŒ$tdt|«›d|›dt‰«›d«‚ˆfd„}|j}    |jd¬    «x}
}|} |gtj¬
«} t|«D]¼\} }|
|}t|«d z
| k(}t|‰«| |r |j nd ¬ «}|st|«| kr|| |j«} n\|||jdk(}||}||}|| |j«} |
j"|j}
|t| «z
} Œ¾|j%| «}|    j%| «|_    t|«d k(r|S‰dk(}|j'||d¬«S)Nr)ÚIndexzColumn z  has dtype z, cannot use method z with this dtypecóR•—‰dk(r|j|«S|j|«S)z{
            Helper function to concat `current_indexer` and `other_indexer`
            depending on `method`
            r-)Úappend)Úcurrent_indexerÚ other_indexerr&s  €r Ú get_indexerz)SelectNFrame.compute.<locals>.get_indexerÎs/ø€ð
˜Ò$Ø&×-Ñ-¨mÓ<Ð<à$×+Ñ+¨OÓ<Ð<r"T)rLr/rCr)rrDr-rG)r@rH)Úpandas.core.apirtrrrqr0r1rJÚreprrMÚ reset_indexrUÚint64Ú    enumeraterNÚgetattrrÚlocÚtakerO)rr&rtrÚframerqÚcolumnr0ryÚoriginal_indexÚ    cur_frameÚcur_nÚindexerÚiÚseriesÚis_last_columnÚvaluesÚ border_valueÚ unsafe_valuesÚ safe_valuesr@s `                   r r'zSelectNFrame.compute¿sþø€Ý)à F‰FˆØ—‘ˆØ—,‘,ˆàò    ˆFؘ&‘M×'Ñ'ˆEØ×/Ñ/°Õ6ÜØœd 6›l˜^¨;°u°gð>)Ü)-¨f«¨Ð6FðHóðð    ô    =🙈Ø!×-Ñ-°4Ð-Ó8Ð8ˆ    E؈٘¤"§(¡(Ô+ˆä" 7Ó+ò"    %‰IˆAˆvð˜vÑ&ˆFÜ  ›\¨AÑ-°Ñ2ˆNØ,”W˜V VÓ,Ø©˜DŸIšI¸UôˆFñ¤ V£°Ò!5Ù% g¨v¯|©|Ó<Ùð
" V¨F¯L©L¸Ñ,<Ñ%=Ñ=ˆLð# <Ñ0ˆMð! , Ñ/ˆKÙ! '¨;×+<Ñ+<Ó=ˆGð"Ÿ ™  m×&9Ñ&9Ñ:ˆIØœ˜G› Ñ$‰EðE"    %ðH—
‘
˜7Ó#ˆð%×)Ñ)¨'Ó2ˆŒ ô ˆw‹<˜1Ò ØˆLà˜kÑ)ˆ    à× Ñ  °IÀKРÓPÐPr")
rrrr2rr3rqrr4r5)r&r3r4r)r7r8r9rjr!r'Ú __classcell__)rrs@r rlrl¦sø„ñ õ÷NQr"rl)!rjÚ
__future__rÚcollections.abcrrÚtypingrrrÚnumpyrUÚ pandas._libsr    rYÚpandas.core.dtypes.commonr
r r r rrÚpandas.core.dtypes.dtypesrÚpandas._typingrrÚpandasrrrr=rlr;r"r ú<module>r™snðñõ#÷÷ñó å*÷÷õ6á÷÷
÷ *ñ*ô@XEGôXEôvgQ7õgQr"