hyb
2025-11-18 7539e6f48c75dcaeb808359cccfd1c0d0d182ce8
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
Ë
nñúh‹Dãó*—ddlmZddlmZmZddlZddlmZddl    m
Z
ddl m Z ddl mZddlmZddlZdd    lmZmZdd
lmZdd lmZmZdd lmZmZmZmZdd lm Z m!Z!m"Z"erddlm#Z#ejHejJejLejNejPejRejRdœZ*ejLejVdfejRejXe
fejHejZdfejJejZdfejNejZdfej\ejXdfejPej^dfiZ0ejZdejVdejXdiZ1Gd„de«Z2y)é)Ú annotations)Ú TYPE_CHECKINGÚAnyN)Ú infer_dtype)ÚiNaT)ÚNoBufferPresent)Úcache_readonly)ÚBaseMaskedDtype)Ú
ArrowDtypeÚDatetimeTZDtype)Úis_string_dtype)Ú PandasBufferÚPandasBufferPyarrow)ÚColumnÚ ColumnBuffersÚColumnNullTypeÚ    DtypeKind)Ú ArrowCTypesÚ
EndiannessÚdtype_to_arrow_c_fmt)ÚBuffer)ÚiÚuÚfÚbÚUÚMÚméÿÿÿÿzThis column is non-nullablezThis column uses NaN as nullz!This column uses a sentinel valuecóȗeZdZdZddd„Zdd„Zedd„«Zedd„«Z    dd„Z
ed„«Z ed„«Z edd    „«Z edd
„«Zdd „Zddd „Zdd„Z        dd„Zdd„Zdd„Zy )Ú PandasColumnaö
    A column object, with only the methods and properties required by the
    interchange protocol defined.
    A column can contain one or more chunks. Each chunk can contain up to three
    buffers - a data buffer, a mask buffer (depending on null representation),
    and an offsets buffer (if variable-size binary; e.g., variable-length
    strings).
    Note: this Column object can only be produced by ``__dataframe__``, so
          doesn't need its own version or ``__column__`` protocol.
    cóê—t|tj«rtd|j›d«‚t|tj
«st dt|«›d«‚||_||_    y)zu
        Note: doesn't deal with extension arrays yet, just assume a regular
        Series/ndarray for now.
        z·Expected a Series, got a DataFrame. This likely happened because you called __dataframe__ on a DataFrame which, after converting column names to string, resulted in duplicated names: zD. Please rename these columns before using the interchange protocol.zColumns of type ú not handled yetN)
Ú
isinstanceÚpdÚ    DataFrameÚ    TypeErrorÚcolumnsÚSeriesÚNotImplementedErrorÚtypeÚ_colÚ _allow_copy)ÚselfÚcolumnÚ
allow_copys   úQH:\Change_password\venv_build\Lib\site-packages\pandas/core/interchange/column.pyÚ__init__zPandasColumn.__init__Tsu€ô
fœbŸl™lÔ +Üðð!Ÿ.™.Ð)ð*2ð2óð ô˜&¤"§)¡)Ô,Ü%Ð(8¼¸f»¸ÐFVÐ&WÓXÐ XðˆŒ    Ø%ˆÕócó.—|jjS)z2
        Size of the column, in elements.
        )r,Úsize©r.s r1r5zPandasColumn.sizehs€ðy‰y~‰~Ðr3có—y)z7
        Offset of first element. Always zero.
        r©r6s r1ÚoffsetzPandasColumn.offsetns€ð r3cóø—|jj}t|tj«rb|jj
j }|j|j«\}}}}tj||tjfSt|«rMt|j«dvr+tjdt|«tjfSt!d«‚|j|«S)N)ÚstringÚemptyéz.Non-string object dtypes are not supported yet)r,Údtyper$r%ÚCategoricalDtypeÚvaluesÚcodesÚ_dtype_from_pandasdtyperÚ CATEGORICALrÚNATIVEr rÚSTRINGrr*)r.r>rAÚ_ÚbitwidthÚc_arrow_dtype_f_strs      r1r>zPandasColumn.dtypevs߀à—    ‘    —‘ˆä eœR×0Ñ0Ô 1Ø—I‘I×$Ñ$×*Ñ*ˆEð ×,Ñ,¨U¯[©[Ó9ñ  ØØØ#Øô×%Ñ%ØØ#Ü×!Ñ!ð    ð ô ˜UÔ #ܘ4Ÿ9™9Ó%Ð)<Ñ<ä×$Ñ$ØÜ(¨Ó/Ü×%Ñ%ð    ðô &Ð&VÓWÐ Wà×/Ñ/°Ó6Ð 6r3cóä—tj|jd«}|€td|›d«‚t    |t
«r|j j}nZt    |t«r|jj}n3t    |t«r|j j}n |j}|dk(r||jtj|fS||jdzt|«|fS)z/
        See `self.dtype` for details.
        Nú
Data type z& not supported by interchange protocolz bool[pyarrow]r=)Ú    _NP_KINDSÚgetÚkindÚ
ValueErrorr$r Ú numpy_dtypeÚ    byteorderr Úbaser
ÚitemsizerÚBOOLr)r.r>rMrPs    r1rBz$PandasColumn._dtype_from_pandasdtype”sԀô}‰}˜UŸZ™Z¨Ó.ˆØ ˆ<ä˜z¨%¨Ð0VÐWÓXÐ XÜ eœZÔ (Ø×)Ñ)×3Ñ3‰IÜ ˜œÔ /ØŸ
™
×,Ñ,‰IÜ ˜œÔ /Ø×)Ñ)×3Ñ3‰IàŸ™ˆIà OÒ #ðØ—‘Ü× Ñ Øð    ð ðU—^‘^ aÑ'Ô)=¸eÓ)DÀiÐOÐOr3có—|jdtjk(s td«‚|jj
j dttj|jj
j««dœS)a:
        If the dtype is categorical, there are two options:
        - There are only values in the data buffer.
        - There is a separate non-categorical Column encoding for categorical values.
 
        Raises TypeError if the dtype is not categorical
 
        Content of returned dict:
            - "is_ordered" : bool, whether the ordering of dictionary indices is
                             semantically meaningful.
            - "is_dictionary" : bool, whether a dictionary-style mapping of
                                categorical values to other objects exists
            - "categories" : Column representing the (implicit) mapping of indices to
                             category values (e.g. an array of cat1, cat2, ...).
                             None if not a dictionary-style categorical.
        rzCdescribe_categorical only works on a column with categorical dtype!T)Ú
is_orderedÚ is_dictionaryÚ
categories) r>rrCr'r,ÚcatÚorderedr!r%r)rWr6s r1Údescribe_categoricalz!PandasColumn.describe_categoricalµsi€ð$z‰z˜!‰}¤    × 5Ñ 5Ò5ÜØUóð ð
Ÿ)™)Ÿ-™-×/Ñ/Ø!Ü&¤r§y¡y°·±·±×1IÑ1IÓ'JÓKñ
ð    
r3cóú—t|jjt«rtj
}d}||fSt|jjt «rb|jjjjdj«d€tjdfStjdfS|jd}    t|\}}||fS#t$rtd|›d«‚wxYw)NérrJz not yet supported)r$r,r>r
rÚ USE_BYTEMASKr ÚarrayÚ    _pa_arrayÚchunksÚbuffersÚ NON_NULLABLEÚ USE_BITMASKÚ_NULL_DESCRIPTIONÚKeyErrorr*)r.Úcolumn_null_dtypeÚ
null_valuerMÚnullÚvalues      r1Ú describe_nullzPandasColumn.describe_nullÒsè€ä d—i‘i—o‘o¤Ô 7Ü .× ;Ñ ;Р؈JØ$ jÐ0Ð 0Ü d—i‘i—o‘o¤zÔ 2ðy‰y‰×(Ñ(×/Ñ/°Ñ2×:Ñ:Ó<¸QÑ?ÐGÜ%×2Ñ2°DÐ8Ð8Ü!×-Ñ-¨qÐ0Ð 0؏z‰z˜!‰}ˆð    MÜ+¨DÑ1‰KˆD%ðUˆ{Ðøôò    MÜ%¨
°4°&Ð8JÐ&KÓLÐ Lð    Mús à C!Ã!C:cón—|jj«j«j«S)zB
        Number of null elements. Should always be known.
        )r,ÚisnaÚsumÚitemr6s r1Ú
null_countzPandasColumn.null_countæs'€ð
y‰y~‰~Ó×#Ñ#Ó%×*Ñ*Ó,Ð,r3có2—d|jjiS)z8
        Store specific metadata of the column.
        z pandas.index)r,Úindexr6s r1ÚmetadatazPandasColumn.metadataís€ð
 §    ¡    §¡Ð0Ð0r3có—y)zE
        Return the number of chunks the column consists of.
        r\r8r6s r1Ú
num_chunkszPandasColumn.num_chunksôs€ðr3Nc#óK—|rt|dkDrot|j«}||z}||zdk7r|dz }td||z|«D]4}t|jj|||z|j
«–—Œ6y|–—y­w)zy
        Return an iterator yielding the chunks.
        See `DataFrame.get_chunks` for details on ``n_chunks``.
        r\rN)Úlenr,Úranger!Úilocr-)r.Ún_chunksr5ÚstepÚstarts     r1Ú
get_chunkszPandasColumn.get_chunksús‹èø€ñ
˜ 1š ܐt—y‘y“>ˆDؘ8Ñ#ˆDؐh‰ !Ò#ؘ‘    Ü˜q $¨¡/°4Ó8ò Ü"Ø—I‘I—N‘N 5¨5°4©<Ð8¸$×:JÑ:Jóóñ ð
‹Jùs‚A<A>có¼—|j«dddœ}    |j«|d<    |j«|d<|S#t$rYŒ!wxYw#t$rY|SwxYw)a`
        Return a dictionary containing the underlying buffers.
        The returned dictionary has the following contents:
            - "data": a two-element tuple whose first element is a buffer
                      containing the data and whose second element is the data
                      buffer's associated dtype.
            - "validity": a two-element tuple whose first element is a buffer
                          containing mask values indicating missing data and
                          whose second element is the mask value buffer's
                          associated dtype. None if the null representation is
                          not a bit or byte mask.
            - "offsets": a two-element tuple whose first element is a buffer
                         containing the offset values for variable-size binary
                         data (e.g., variable-length strings) and whose second
                         element is the offsets buffer's associated dtype. None
                         if the data buffer does not have an associated offsets
                         buffer.
        N)ÚdataÚvalidityÚoffsetsrr€)Ú_get_data_bufferÚ_get_validity_bufferrÚ_get_offsets_buffer)r.ras  r1Ú get_bufferszPandasColumn.get_buffers s€€ð(×)Ñ)Ó+ØØñ"
ˆð     Ø"&×";Ñ";Ó"=ˆGJÑ ð    Ø!%×!9Ñ!9Ó!;ˆGIÑ ðˆøôò    Ù ð    ûô
ò    Ø àˆð    ús –?ªA¿    A Á
A Á    AÁAcóê—|jdtjtjtjtj
tj fvrQ|j}|jdtj k(rOt|jd«dkDr4|jjjd«j«}n»|jj}t|jjt«r |j}ntt|jjt «rD|j"j$d}t'|j)«dt|«¬«}||fS|j*}t-||j.¬«}||fS|jdtj0k(rV|jj2j4}t-||j.¬«}|j7|j«}||fS|jdtj8k(r|jj«}t;«}|D]4}t|t<«sŒ|j?|jAd¬    ««Œ6t-tCjD|d
¬ ««}|j}||fStGd |jj›d «‚)zZ
        Return the buffer containing the data and the buffer's associated dtype.
        rééNr\©Úlength)r0úutf-8©ÚencodingÚuint8)r>rJr#)$r>rÚINTÚUINTÚFLOATrSÚDATETIMErvr,ÚdtÚ
tz_convertÚto_numpyr^r$r
Ú_datar r_r`rraÚ_ndarrayrr-rCr@Ú_codesrBrEÚ    bytearrayÚstrÚextendÚencodeÚnpÚ
frombufferr*)    r.r>Únp_arrÚarrÚbufferrAÚbufrÚobjs             r1rzPandasColumn._get_data_buffer0sF€ð :‰:a‰=Ü M‰MÜ N‰NÜ O‰OÜ N‰NÜ × Ñ ð 
ò
ð—J‘JˆE؏z‰z˜!‰}¤    × 2Ñ 2Ò2´s¸4¿:¹:Àa¹=Ó7IÈAÒ7MØŸ™Ÿ™×0Ñ0°Ó6×?Ñ?ÓA‘à—i‘i—o‘oÜ˜dŸi™iŸo™o¬Ô?Ø ŸY™Y‘FÜ §    ¡    §¡´Ô<ðŸ-™-×.Ñ.¨qÑ1CÜ0ØŸ ™ ›  aÑ(Ü" 3›xôFð" 5˜=Ð(à Ÿ\™\FÜ! &°T×5EÑ5EÔFˆFð4uˆ}Ðð3Z‰Z˜‰]œi×3Ñ3Ò 3Ø—I‘I×$Ñ$×+Ñ+ˆEÜ! %°D×4DÑ4DÔEˆFØ×0Ñ0°·±Ó=ˆEð,uˆ}Ðð+Z‰Z˜‰]œi×.Ñ.Ò .à—)‘)×$Ñ$Ó&ˆCÜ“ ˆAðò ;Ü˜c¤3Õ'Ø—H‘H˜SŸZ™Z°˜ZÓ9Õ:ð ;ô "¤"§-¡-°¸Ô"AÓBˆFð
—J‘JˆEðuˆ}Ðô&¨
°4·9±9·?±?Ð2CÐCSÐ&TÓUÐ Ur3cóº—|j\}}t|jjt«rœ|jj
j jd}tjdtjtjf}|j«d€yt|j«dt|«¬«}||fSt|jjt «r_|jj
j"}t%|«}tjdtjtjf}||fS|jdtj&k(rº|jj)«}|dk(}| }t+j,t|«ft*j.¬«}t1|«D]\}    }
t|
t2«r|n|||    <Œt%|«}tjdtjtjf}||fS    t4|›d} t;| «‚#t6$r t9d«‚wxYw)    zÒ
        Return the buffer containing the mask values indicating missing data and
        the buffer's associated dtype.
        Raises NoBufferPresent if null representation is not a bit or byte mask.
        rr\Nrˆr=©Úshaper>z! so does not have a separate maskzSee self.describe_null)rjr$r,r>r r^r_r`rrSrrrDrarrvr
Ú_maskrrEr”rœÚzerosÚbool_Ú    enumerater™Ú_NO_VALIDITY_BUFFERrer*r) r.rhÚinvalidrŸr>r Úmaskr¡Úvalidrr¢Úmsgs             r1r‚z!PandasColumn._get_validity_bufferns÷€ð ×*Ñ*‰ ˆˆgä d—i‘i—o‘o¤zÔ 2ð—)‘)—/‘/×+Ñ+×2Ñ2°1Ñ5ˆCÜ—^‘^ Q¬ ×(8Ñ(8¼*×:KÑ:KÐLˆE؏{‰{‹}˜QÑÐ'ØÜ(Ø— ‘ “ ˜aѠܘ3“xôˆFð˜5=Ð  ä d—i‘i—o‘o¤Ô 7Ø—9‘9—?‘?×(Ñ(ˆDÜ! $Ó'ˆFÜ—^‘^ Q¬ ×(8Ñ(8¼*×:KÑ:KÐLˆEؘ5=Ð  à :‰:a‰=œI×,Ñ,Ò ,ð—)‘)×$Ñ$Ó&ˆCð˜q‘LˆEؐiˆGä—8‘8¤3 s£8 +´R·X±XÔ>ˆDÜ# C›.ò E‘3Ü#-¨c´3Ô#7™%¸WQ’ð Eô
" $Ó'ˆFô—^‘^ Q¬ ×(8Ñ(8¼*×:KÑ:KÐLˆEà˜5=Ð  ð    @Ü(¨Ñ.Ð/Ð/PÐQˆCô
˜cÓ"Ð"øô    ò    @ä%Ð&>Ó?Ð ?ð    @ús È. IÉIcó—|jdtjk(rØ|jj    «}d}t j t|«dzft
j¬«}t|«D]=\}}t|t«r |jd¬«}|t|«z }|||dz<Œ?t|«}tjdtj t"j$f}||fSt'd«‚)a
        Return the buffer containing the offset values for variable-size binary
        data (e.g., variable-length strings) and the buffer's associated dtype.
        Raises NoBufferPresent if the data buffer does not have an associated
        offsets buffer.
        rr\r¤rŠr‹é@zJThis column has a fixed-length dtype so it does not have an offsets buffer)r>rrEr,r”rœr§rvÚint64r©r$r™r›rrŽrÚINT64rrDr)    r.r@Úptrr€rÚvrr r>s             r1rƒz PandasColumn._get_offsets_buffer§sï€ð :‰:a‰=œI×,Ñ,Ò ,à—Y‘Y×'Ñ'Ó)ˆF؈CÜ—h‘h¤c¨&£k°A¡oÐ%7¼r¿x¹xÔHˆGÜ! &Ó)ò %‘1ô˜a¤Ô%ØŸ™¨'˜Ó2AØœ3˜q›6‘MCà!$˜˜A™’ð %ô" 'Ó*ˆFô— ‘ ØÜ×!Ñ!Ü×!Ñ!ð    ˆEðuˆ}Ðô "ð5óð r3)T)r/z    pd.Seriesr0ÚboolÚreturnÚNone)r¶Úint)r¶ztuple[DtypeKind, int, str, str])r¶zdict[str, pd.Index])N)ryz
int | None)r¶r)r¶z.tuple[Buffer, tuple[DtypeKind, int, str, str]])r¶ztuple[Buffer, Any] | None)r¶ztuple[PandasBuffer, Any])Ú__name__Ú
__module__Ú __qualname__Ú__doc__r2r5Úpropertyr9r    r>rBrZrjrorrrtr|r„rr‚rƒr8r3r1r!r!Hs¹„ñ    ô&ó(ð òóððò7óð7ó:PðBñ
óð
ð8ñóðð&ò-óð-ð ò1óð1ó ô ó"#ðJ<à    7ó<ó|7#ôr&r3r!)3Ú
__future__rÚtypingrrÚnumpyrœÚpandas._libs.librÚpandas._libs.tslibsrÚ pandas.errorsrÚpandas.util._decoratorsr    Úpandas.core.dtypes.dtypesr
Úpandasr%r r Úpandas.api.typesr Úpandas.core.interchange.bufferrrÚ*pandas.core.interchange.dataframe_protocolrrrrÚpandas.core.interchange.utilsrrrrrŽrrrSrEr‘rKÚUSE_NANÚ USE_SENTINELrbrCr]rdrªr!r8r3r1ú<module>rÍsiðÝ"÷ó
å(Ý$Ý)Ý2å5ã÷õ-÷÷ó÷ ññ ÝAð
‰Ø    ‰Ø    ‰Ø    ‰Ø    ×    Ñ    Ø    ×    Ñ    Ø    ×    Ñ    ñ €    ð‡OOn×,Ñ,¨dÐ3Ø ×ј×4Ñ4°dÐ;Ø ‡MMN×/Ñ/°Ð6Ø ‡NN^×0Ñ0°$Ð7Ø ‡NN^×0Ñ0°$Ð7ð×јN×7Ñ7¸Ð<à ×ѐ~×2Ñ2°AÐ6ð Ðð×ÑÐ!>Ø×ÑÐ:Ø×ÑÐ!DðÐôE6õEr3