zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
¬ý°d ã@sdddlmZddlmZddlmZddlmZddlm    Z
erPddl m    Z    m Z Gdd„de
ƒZ d    S)
é)Ú annotations)Úabc)Ú TYPE_CHECKING)Ú PandasColumn)Ú    DataFrame)rÚIndexc@sØeZdZdZd-dddddœdd    „Zd.dddd
œd d „Zed dœdd„ƒZddœdd„Zddœdd„Z    ddœdd„Z
ddœdd„Z dddœdd„Z ddd œd!d"„Z d#dœd$d%„Zddœd&d'„Zddœd(d)„Zd/d+d,„Zd*S)0ÚPandasDataFrameXchga
    A data frame class, with only the methods required by the interchange
    protocol defined.
    Instances of this (private) class are returned from
    ``pd.DataFrame.__dataframe__`` as objects with the methods and
    attributes defined on this class.
    FTrÚboolÚNone)ÚdfÚ nan_as_nullÚ
allow_copyÚreturncCs||_||_||_dS)zz
        Constructor - an instance of this (private) class is returned from
        `pd.DataFrame.__dataframe__`.
        N)Ú_dfÚ _nan_as_nullÚ _allow_copy)Úselfr r r ©rúXd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/core/interchange/dataframe.pyÚ__init__szPandasDataFrameXchg.__init__)r r rcCst|j||ƒS©N)rr)rr r rrrÚ __dataframe__(sz!PandasDataFrameXchg.__dataframe__zdict[str, Index])rcCs d|jjiS)Nz pandas.index)rÚindex©rrrrÚmetadata-szPandasDataFrameXchg.metadataÚintcCs t|jjƒSr)ÚlenrÚcolumnsrrrrÚ num_columns3szPandasDataFrameXchg.num_columnscCs
t|jƒSr)rrrrrrÚnum_rows6szPandasDataFrameXchg.num_rowscCsdS)NérrrrrÚ
num_chunks9szPandasDataFrameXchg.num_chunksrcCs|jjSr©rrrrrrÚ column_names<sz PandasDataFrameXchg.column_namesr)ÚircCst|jjdd…|f|jdS©N©r )rrÚilocr)rr$rrrÚ
get_column?szPandasDataFrameXchg.get_columnÚstr)ÚnamercCst|j||jdSr%©rrr)rr*rrrÚget_column_by_nameBsz&PandasDataFrameXchg.get_column_by_namezlist[PandasColumn]cs‡fdd„ˆjjDƒS)Ncs g|]}tˆj|ˆjd‘qS)r&r+)Ú.0r*rrrÚ
<listcomp>Fsÿz3PandasDataFrameXchg.get_columns.<locals>.<listcomp>r"rrrrÚ get_columnsEs
þzPandasDataFrameXchg.get_columnscCsFt|tjƒstdƒ‚t|tƒs&t|ƒ}t|jjdd…|f|j|j    ƒS)Nz`indices` is not a sequence)
Ú
isinstancerÚSequenceÚ
ValueErrorÚlistrrr'rr)rÚindicesrrrÚselect_columnsKs 
ÿz"PandasDataFrameXchg.select_columnscCsFt|tjƒstdƒ‚t|tƒs&t|ƒ}t|jjdd…|f|j|j    ƒS)Nz`names` is not a sequence)
r0rr1r2r3rrÚlocrr)rÚnamesrrrÚselect_columns_by_nameUs 
ÿz*PandasDataFrameXchg.select_columns_by_nameNccs~|rt|dkrtt|jƒ}||}||dkr2|d7}td|||ƒD].}t|jj|||…dd…f|j|jƒVqBn|VdS)z9
        Return an iterator yielding the chunks.
        r rN)rrÚrangerr'rr)rZn_chunksÚsizeÚstepÚstartrrrÚ
get_chunks_s 
 ý
zPandasDataFrameXchg.get_chunks)FT)FT)N)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrÚpropertyrrrr!r#r(r,r/r5r8r=rrrrrs&    ÿÿ
 
rN)Ú
__future__rÚ collectionsrÚtypingrZpandas.core.interchange.columnrZ*pandas.core.interchange.dataframe_protocolrZ DataFrameXchgZpandasrrrrrrÚ<module>s