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
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
173
174
175
176
177
U
­ý°d¢‡ã@sLddlZddlmZddlZddlmZddlZddlZddlm    Z    ddl
m m Z ddlZddlmZmZmZmZmZmZddlmZmZejjZdd„Zd    d
„Zd d „Zd d„Z dd„Z!dd„Z"dd„Z#dd„Z$dd„Z%dd„Z&dd„Z'ej (dddd g¡d!d"„ƒZ)d#d$„Z*e j+d%d&„ƒZ,d'd(„Z-d)d*„Z.d+d,„Z/d-d.„Z0d/d0„Z1dS)1éN)Ú    timedelta)Úcatch_warnings)Ú    Timestamp)Ú    DataFrameÚSeriesÚ_testingÚconcatÚ
date_rangeÚread_hdf)Ú _maybe_removeÚensure_clean_storec Csxt|ƒd}tddLt ¡}t|dƒ| d|dd…¡| d|dd…¡t |d|¡t|dƒ|jd|dd…dd| d|dd…¡t |d|¡t|dƒ| d    |dd…¡| d    |dd…¡t |d|¡t|d
ƒ| d
|dd…¡| d
|dd…¡t |d |¡td d gdd gd d gddggd}d|d<t    j
|j d<t|dƒ| d|¡t |d|¡tt t    j jddddt    jdt t    j jddddt    jdt t    j jddddt    jdt dddddgt    jddœt     d¡d }t|d!ƒ| d!|¡tj|d!|dd"t|d!ƒ|jd!|d#d$d%gd&tj|d!|dd"W5QRXW5QRXdS)'NT©ÚrecordÚdf1é
Údf2Útable©ÚformatÚdf3z/df3z/df3 foozdf3 fooéér)ÚdataZtestingÚ mixed_column)rrÚdféÿé)ÚhighÚsize©Údtypeiÿÿi@l l@lll)Úu08Úu16Úu32Zu64©ÚindexZuints©Zcheck_index_typer!r"r#©Ú data_columns)r rÚtmÚmakeTimeDataFramer ÚappendÚassert_frame_equalÚputrÚnpÚnanÚlocrÚrandomÚrandintZuint8Zuint16Zuint32Zuint64Úarange)Ú
setup_pathÚstorerZ    uint_data©r6ú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/pytables/test_append.pyÚ test_appendsf 
 
 
 
" 
 ÿÿÿ þöð
 
r8c        Cs¬t|ƒ˜}t ¡}t ¡}tt d¡ƒ}| d|¡|d}t ||¡|j    dksXt
‚| d|¡|d}t ||¡|j    dks†t
‚d|_    | d|¡|d}t ||¡|j    |j    ks¼t
‚||dk}|  dd¡}t ||¡||dk|j d    k@}|  dd
¡}tj||d d t tj d d¡dgd}t t|ƒ¡|d<d|d<d|jdd …df<|jddgd d| ¡}|j  d¡|_ | d|¡tj|d|d d W5QRXdS)NédÚssÚtsÚfooÚnsé<zfoo>60éFéZzfoo>70 and index<90Tr&rrÚA©ÚcolumnsÚBÚCÚbaré©ZinplacerÚmi)r r)ZmakeStringSeriesZmakeTimeSeriesrr.r3r+Úassert_series_equalÚnameÚAssertionErrorÚselectr%rr1ÚrandnÚlenr0Ú    set_indexÚstackZ    droplevel)    r4r5r:r;r=ÚresultÚexpectedrIÚsr6r6r7Útest_append_series_s@            rUcCsÚt|ƒÆ}tttj d¡ƒ d¡tj d¡tj d¡ddtdƒt dddd    d    ¡d
œt     d¡d }t
|d ƒtj |j d    d …ddddgf<|  d |dd…¡|  d |dd…¡tj|d |dd| ¡}tj |d<t
|d ƒ|  d |dd…¡|  d |dd…¡tj|d |dd| ¡}tj |d<t
|dƒ|  d|dd…¡|  d|dd…¡tj|d|dd| ¡}tj |d<t
|dƒ|  d|dd…¡|  d|dd…¡tj|d|ddW5QRXdS)NéÚint32r<rFÚ20010101éÑrrr)rAÚA1ÚA2rDrEÚDÚEr$rérZrDr\r]rTr&r[rr)r rrr.r1rNÚastyperÚdatetimer3r r/r0r+r)r,Úcopy)r4r5rrrrr6r6r7Útest_append_some_nansŒsF 
 
ù    ö
 
 
 
 
 
 
rbcCs’t|ƒ~}ttj d¡tj d¡dœt d¡d}tj|jdd…dd…f<t|dƒ|j    d|dd…dd    |j    d|dd…dd    t
j |d|d
d…dd t|d ƒ|j    d |dd…d d    |j    d |dd…d d    t
j |d |dd t   dd ¡Ht|dƒ|     d|dd…¡|     d|dd…¡t
  |d|¡W5QRXt   dd¡&t|dƒ|     d|dd…¡|     d|dd…¡t
  |d|d
d…¡ttj d¡tj d¡dddœt d¡d}tj|jdd…dd…f<t|dƒ|j    d|dd…dd    |j    d|dd…dd    t
j |d|dd t|d ƒ|j    d |dd…d d    |j    d |dd…d d    t
j |d |dd ttj d¡tj d¡ddtdƒt ddddd¡dœt d¡d}tj|jdd…dd…f<t|dƒ|j    d|dd…dd    |j    d|dd…dd    t
j |d|dd t|d ƒ|j    d |dd…d d    |j    d |dd…d d    t
j |d |dd W5QRXW5QRXdS)NrV)rZr[r$rr^rrT)Údropnaéüÿÿÿr&rFúio.hdf.dropna_tablerZdf4r<rF)rZr[rDrErXrYrr)rZr[rDrEr\r])r rr.r1rNr3r/r0r r+r)r,ÚpdÚoption_contextrr`©r4r5rr6r6r7Útest_append_all_nansºsx þ
 
 
 
 
 
üù
 
 
 
 
ú÷ 
 
ric
Cst|ƒ}t ¡}|j d¡|_t|dƒ|jd|jdd…dd…fdgd| d|jdd…dd…f¡t |d|¡|     dd¡}|j
dgd}t ||¡|     dd¡}|j
dg|jd    d
…d }t ||¡t   d ¡}t jt|d |     dd¡W5QRXW5QRXdS)NrrrC)Zaxesú    columns=ArArB)rjzindex=df.index[0:4]ré)rCr%zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]©Úmatchzcolumns=A and index>df.index[4])r r)r*r%Z
_with_freqr r+Úilocr,rMÚreindexÚreÚescapeÚpytestÚraisesÚ    TypeError)r4r5rrRrSÚmsgr6r6r7Ú!test_append_frame_column_oriented s$ 
$    ÿrvc
Csüt|ƒæ}tdƒD]Ö}ttj dd¡tdƒd}tdƒ|d<|d|d7<tdgt|ƒdd|d<tdgt|ƒd    d|d    <|dd
kr°|d=tdgt|ƒdd|d<|d d
krÎ|     d ¡}||d <|j
dd d|  d|¡qW5QRXt|ƒö}ttj dd¡tdƒdd}tdgt|ƒdd|d<tdgt|ƒd    d|d    <|  d|¡tdgt|ƒd    d|d<t   d¡}tjt|d|  d|¡W5QRXtdgt|ƒdd|d<t   d¡}tjt|d|  d|¡W5QRXW5QRXdS)NrrZABrBr%rÚint64rÚint16rrGrATrHrÚfloat64)rCr Zint16_2zCcannot match existing table structure for [int16] on appending datarlçð?Zfloat_3zAcannot match existing table structure for [A,B] on appending data)r Úrangerr.r1rNÚlistrrOÚpoprPr+rprqrrrsÚ
ValueError)r4r5ÚirÚarur6r6r7Ú)test_append_with_different_block_ordering*s@
 
 
 ÿÿrc s®t|ƒê‰tddÒ‡fdd„}tddgddggƒ}ˆ d    |¡t ˆ d    ¡|¡|d    d
d ƒtd d gddggƒ}ˆ d    |¡t||gƒ}t ˆ d    ¡|¡|d    d
d ƒtddgddggƒ}ˆjd|ddidt ˆ d¡|¡|dd
dƒˆ d|¡td dgddggƒ}d}tj    t
|dˆ d|¡W5QRXt  ¡  d¡}ˆjd|dddidt  ˆ d¡|d¡ˆjd|ddddidt  ˆ d¡|d¡ˆjd |d!dd"id#| ¡ ¡jd$d%  d¡}ˆ d |¡t ˆ d ¡t||gƒ¡ˆjd&|dd!dd"id#ˆ d&|d¡t  ˆ d&¡t|d|dgƒ¡tˆd'ƒt ¡}d(|d)<tj|j|jd*d…d)f<d+|d,<tj|j|jdd-…d,f<d.|d/<tj|j|jd*d…d/f<ˆ d'|¡ˆ d'¡}t ||¡W5QRXW5QRXt|ƒ ‰td(d+d0œtd1ƒd2}tˆd'ƒˆjd'|d3d4id|d'd3d4ƒˆ d'¡jd3gks^t‚tˆd'ƒˆjd'|dgd3d4id|d'd3d4ƒˆ d'¡jdd3gks¦t‚tˆd'ƒˆjd'|dgdd4id|d'dd4ƒ|d'd5d4ƒˆ d'¡jdgksøt‚tˆd'ƒˆjd'|dd6…d4dˆjd'|d6d…d4dt ˆd'|¡td(d(d(d7d7d7gd3gd8}tˆd'ƒt d9¡}tj    t
|dˆjd'|d:d:d;œdW5QRXW5QRXdS)<NTr cs"tˆ |¡jj|ƒj|kst‚dS©N©ÚgetattrÚ
get_storerrÚ descriptionÚitemsizerL©ÚkeyrKr©r5r6r7Ú    check_col\sÿÿz+test_append_with_strings.<locals>.check_colé{Z    asdqwertyiYZdggnhebbsdfbdfbZdf_bigÚvalues_block_1r^é|ZasdqyiZZ dggnhefbdfbZdf_big2Úvaluesé2©Ú min_itemsizeÚdf_newZ
abcdefqhijZabcdefghijklmnopqrtsuvwxyzz¯Trying to store a string with len \[26\] in \[values_block_1\] column but\nthis column has a limit of \[15\]!\nConsider using min_itemsize to preset the sizes on these columnsrlrEr:rDr%rkZss2©r(r’Zss3ré)rr’Zlonger)rEZss4rr<ÚstringrrFÚstring2éZbahZstring3©rArDrr$rAéÈZvalues_block_0rZbarhrBzBmin_itemsize has the key [foo] which is not an axis or data_columnrV)r<Zfoobar)r rrr+r)r,rMrrrrsr~ZmakeMixedDataFramerPrJr-raZ reset_indexZassignr r*r.r/r0r%r{r…r(rLrprq)r4r‹rrrSr“rurRr6rŠr7Útest_append_with_stringsXs’         ÿÿ "
 
  
 
 
 
 
ÿr›c
Cs|t|ƒj}tddddddddgiƒ}|jd    |dd
…dd id |jd    |d
d…dd id t | d    ¡|¡W5QRXdS) NÚxr€ÚbÚcÚdÚeÚfÚréÿÿÿÿrr‘)r rr+r)r,rMrhr6r6r7Útest_append_with_empty_stringÌs
 
r¤c        sNt|ƒ’‰t ¡}d|jd|j d¡f<tˆdƒˆjd|dd…dgdˆ d|dd…¡t ˆd|¡ˆj    j
j j j jjdksŒt‚ˆj    j
j j j jjdks¦t‚ˆ dd¡}||jdk}t ||¡ˆ dd    ¡}|j|jd
d…d }||jdk}t ||¡| ¡}d |d <tj|j|jdd
…d f<d|j|jdd…d f<tˆdƒˆjd|d gdˆ dd¡}||jd k}t ||¡‡fdd„}W5QRXt|ƒŒ‰tˆdƒˆjd|d gd did|dd dƒtˆdƒˆjd|d gdd|dd dƒtˆdƒˆjd|d gddid|dd dƒW5QRXt|ƒj‰d|d<d|d<d|d<tˆdƒˆjd|d dgdddd œd|dd dƒ|dddƒ|dd!dƒW5QRXt|ƒH‰| ¡}d|jd|j d"¡f<d#|jd|j d¡f<d |d <|j d ¡}tj|jdd
…|f<d|jdd…|f<d |d<|j d¡}tj|jdd…|f<d|jd$d%…|f<tˆdƒˆjd|d"dd dgdˆ dd&¡}||jd k|jd k@|jdk@|jdk@}tj||d'd(ˆ dd)¡}||jd k|jd*k@}t ||¡W5QRXt|ƒ
‰| ¡}d |d <tj|j|jd
d…d f<d|j|jd$d+…d f<d*|d<td,ƒ|d-<tj|j|jd.d…d"dd-gf<tˆd/ƒˆjd/|dd0d dd-gdˆ d/d¡}||jdk}t ||¡ˆ d/d1d2d3g¡}||jdk|jdk@|jd k@}tj||d'd(W5QRXt|ƒ‰tj d4¡td5d%d6}t tj !d%d.¡|d"dd0gd7}d |d <tj|j|jd
d…d f<d|j|jd$d+…d f<|dd0g "¡|dd0g<d*|d<ˆjd/|dd0d dgdˆ d/d¡}||jdk}t ||¡ˆ d/d1d2d8g¡}||jdk|jdk@|jd k@}t ||¡W5QRXdS)9NrzrrDrrr'TúB>0zB>0 and index>df.index[3]rkr$r<r–rrFrr•z string='foo'cs"tˆ |¡jj|ƒj|kst‚dSr‚rƒrˆrŠr6r7r‹ùsÿz0test_append_with_data_columns.<locals>.check_colér”rZ    foobarbahr—Z
foobarbah1Z string_block1Z
foobarbah2Z string_block2é(r)r–r—rrrAgð¿ér˜z.string='foo' and string2='foo' and A>0 and B<0F)Z
check_freqzstring='foo' and string2='cool'Zcoolé    Z20010102r`rGÚdf_dcrEzB > 0zC > 0z string == fooiÒz1/1/2000)Zperiods)r%rCzstring == "foo")#r r)r*rnrCZget_locr r+r,Ú_handleÚrootrrÚcolsr%Z
is_indexedrLrDrMrorar.r/r0r–r—rArrEr1Úseedr    rrNÚabs)    r4rrRrSr“r‹Úslrªr%r6rŠr7Útest_append_with_data_columnsÕsä 
 
 
 
 
 
 
 
 
ü     
 ÿþýÿ    
 ÿ  "     "r±c    Csº|}d|j_t|ƒV}| d|¡| d¡}t ||¡|jdddgd}|jddgd}t ||¡W5QRX|d}|j|dddt    |dddgd}|jddgd}t ||¡dS)    NrIrArDrBztest.hdfrrr)
rCrKr r+rMr)r,roZto_hdfr
)Ztmp_pathr4Z multiindex_dataframe_random_datarr5rRrSÚpathr6r6r7Útest_append_hierarchicalhs
 
 r³c    Cslt|ƒZ}t ¡}|jd|dd| d¡}t ||¡|jd|dd| d¡}t ||¡W5QRXdS)Nrr©Ú    chunksizerr)Z expectedrows)r r)Ú makeDataFramer+rMr,)r4r5rrRr6r6r7Útest_append_misc}s
 
 
r·rµrršièc    Cs”t ¡}d|d<d|d<|d d¡|d<|ddk|d<tdƒ|d    <td
ƒ|d <t|d d ,}|jd||d| d¡}t ||¡W5QRXdS)Nr<r–rzZfloat322Úfloat32rÚboolÚ20130101Ztime1Z20130102Ztime2Úw)ÚmodeÚobjr´)r)r¶r_rr r+rMr,)r4rµrr5rRr6r6r7Útest_append_misc_chunksize‰s  
r¾c
CsØt|ƒÆ}ttdƒd}| d|¡tjtdd| d¡W5QRXttj     
dd¡tdƒd}| d|¡t   | d¡|¡| d|¡t   | d¡|¡ttdƒd}|  d|¡t   | d¡|¡W5QRXdS)    NÚABCrBrz 'No object named df in the file'rlrrGr)r rr|r+rrrsÚKeyErrorrMr.r1Zrandr)r,r-)r4r5Zdf_emptyrr6r6r7Útest_append_misc_empty_frame™s
    rÁc
CsXt|ƒD}t ¡}dggt|ƒ|d<|jdtjks<t‚t     d¡}t
j t |d|  d|¡W5QRXdggt|ƒ|d<dggt|ƒ|d<t
j t |d|  d|¡W5QRXt ¡}tt dd    d
¡|jd }| t¡}tj|d d …<||d<|jdtjkst‚d}t
j t |d|  d|¡W5QRXd}t
j t |d|  dt d¡¡W5QRXt     d¡}t
j t |d|  dtt d¡ƒ¡W5QRXt ¡}|  d|¡d|d<t     d¡}t
j t|d|  d|¡W5QRXt|dƒtdƒ|d<|  d|¡d|d<t     d¡}t
j t|d|  d|¡W5QRXW5QRXdS)Nr€ÚinvalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtyperlrZinvalid2Zinvalid3rYrrr$rrz>too many timezones in this block, create separate data columnsz(value must be None, Series, or DataFramerz]cannot properly create the storer for: [group->df,value-><class 'pandas.core.series.Series'>]r<z‰invalid combination of [non_index_axes] on appending data [(1, ['A', 'B', 'C', 'D', 'foo'])] vs current table [(1, ['A', 'B', 'C', 'D'])]rºrFzûinvalid combination of [values_axes] on appending data [name->values_block_1,cname->values_block_1,dtype->bytes24,kind->string,shape->(1, 30)] vs current table [name->values_block_1,cname->values_block_1,dtype->datetime64,kind->datetime64,shape->None])r r)r¶rOZdtypesr.Zobject_rLrprqrrrsrtr+rr`r%r_Úobjectr/r3r~r r)r4r5rrurTr6r6r7Útest_append_raise²s^ ÿ
ÿ  ÿ
  ÿrÄc    Cs~ttdƒdd„tdƒDƒdœƒ}|d|d|d<tj|jd    d
…df<t|ƒ"}t|d ƒ|jd |d d |     d ¡}t
  ||¡|j    d dd}t
  ||¡|j    d dd}t
  ||j d    d…¡|     d d¡}t
  ||j d    d…¡|     d d¡}|j dgd}t
  ||j dd…¡|     d d¡}|j dd…}t
  ||j dd…¡t|dƒ| d|¡|     d¡}t
  ||¡W5QRXdS)NrºcSs g|]}tdƒt|dd‘qS)rºr)ÚdaysÚseconds)rr)Ú.0rr6r6r7Ú
<listcomp>sz.test_append_with_timedelta.<locals>.<listcomp>rr™rArDrErGrrTr'zC<100000)ÚwherezC<pd.Timedelta('-3D')zC<'-3D'z C<'-500000s')Zsubsetr•z    C<'-3.5D'rrkr)rrr{r.r/r0r r r+rMr)r,rnrcr-)r4rr5rRr6r6r7Útest_append_with_timedeltaþs<ÿþÿ 
 
 
 
rÊc
Cs4t ¡}t ¡jdjd}d|d<t||gdd}t|ƒð}d}tjt|d |j    d    d
gdd œ|d d W5QRXtjt|d|j    ddd œ|d d W5QRXd}tjt|d|     d|d¡W5QRX|j    d    d
gdd œ|dd |j
ddgddgdd}||j dk|j dk@}t  ||¡W5QRXdS)Nú{}_2rBrFr<r©Zaxisz=append_to_multiple requires a selector that is in passed dictrlrArD©rrr)ÚselectorzQappend_to_multiple must have a dictionary specified as the way to split the valuerrzA>0r¥)rÉrÎr)r)r*Úrenamerrr rrrsr~Úappend_to_multipleÚselect_as_multiplerArDr,)r4rrrr5rurRrSr6r6r7Útest_append_to_multiple.s4
 ÿ ÿÿrÒc    Cs¼t ¡}t ¡jdjd}tj|jd|j ddg¡f<t    ||gdd}t
|ƒd}|j ddgddœ|dd    d
|  dd g¡}|  ¡}tj||d    d t | d¡j| d ¡j¡W5QRXdS) NrËrBrrArDrÌrÍrT©rÎrcrr&)r)r*rÏrr.r/rnrCÚ get_indexerrr rÐrÑrcr,Zassert_index_equalrMr%)r4rrrr5rRrSr6r6r7Útest_append_to_multiple_dropnaOs
 ÿrÕc CsÜt ¡}t ¡jdjd}tj|jd|j ddg¡f<t    ||gdd}t
|ƒ„}t   dd¡l|j ddgdd    œ|d
d d d }tjt|d| d
dg¡W5QRX| d
¡j | d¡j¡rÄt‚W5QRXW5QRXdS)NrËrBrrArDrÌreT)Údf1aÚdf2arÖFrÓz,all tables must have exactly the same nrows!rlr×)r)r*rÏrr.r/rnrCrÔrr rfrgrÐrrrsr~rÑrMr%ÚequalsrL)r4rrrr5rur6r6r7Ú$test_append_to_multiple_dropna_false`s$ÿ ÿrÙc    CsÄtt dd¡t dd¡t dd¡ddd„tdƒDƒdd„tdƒDƒdœƒ}|jd    g}t|ƒZ}|jd
gd d gd dgdœ|jd    gdddddœd| dddg¡}tj    ||ddW5QRXdS)NrééXcSsg|]}d‘qS)r€r6©rÇÚ_r6r6r7rÈ|sz8test_append_to_multiple_min_itemsize.<locals>.<listcomp>rVcSsg|]}d‘qS)Zabcder6rÜr6r6r7rÈ}s)ÚIXÚNumÚBigNumÚStrÚLongStrrrÞrßràrárâ)r%ÚnumsÚstrsr%rr9r)rárârßr‘rãräTr&)
rr.r3r{rnr rÐrÑr)r,)r4rrSr5rRr6r6r7Ú$test_append_to_multiple_min_itemsizeus*
 
ûÿ     
ý
 
ø
rå)2r`rrpÚwarningsrÚnumpyr.rrZpandas._libs.tslibsrZpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrfrrrr)rr    r
Zpandas.tests.io.pytables.commonr r ÚmarkZ
single_cpuZ
pytestmarkr8rUrbrirvrr›r¤r±r³r·Z parametrizer¾rÁZ&skip_array_manager_not_yet_implementedrÄrÊrÒrÕrÙrår6r6r6r7Ú<module>sB    B-.S.t     
 
K0!