zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
U
­ý°d¾\ã@sjddlZddlZddlZddlmZmZmZmZm    Z    m
Z
m Z m Z m Z mZmZmZmZmZmZmZddlmZddlmZddlmmmZdd„Z ej! "de#ej$g¡dd„ƒZ%d    d
„Z&d d „Z'd d„Z(dd„Z)dd„Z*dd„Z+ej! "deddde j,e dƒe j-ge
 .e j,e dƒfe dƒe j-fg¡fdddgej$e /ej0¡j,de /ej0¡j-gdde
 .e /ej0¡j,dfde /ej0¡j-fg¡fe 1dd¡e 1dd¡e 1dd¡ge $e 1e /ej0¡j- d¡e 1dd¡e 1e /ej0¡j-d¡g¡e
 .e 1e /ej0¡j- d¡e 1dd¡fe 1dd¡e 1e /ej0¡j-d¡fg¡fg¡dd „ƒZ2d!d"„Z3ej! "d#gd$d%fdd$dgd&d'fg¡d(d)„ƒZ4ej! "d*d$e 5d$¡ee 5d$¡ƒg¡ej! "d+eeg¡d,d-„ƒƒZ6ej! "d.ddd$dd/ej7gej7 ddd$dd/gej7 ddd$dd/ej7gg¡d0d1„ƒZ8d2d3„Z9ej! "d4d5d6d7d&d8dgd9fd:dd7d&d8d;gd<fg¡d=d>„ƒZ:d?d@„Z;dAdB„Z<ej! "dCdd:g¡dDdE„ƒZ=dFdG„Z>dHdI„Z?ej! "dJdKdL„dMdL„fdNdL„dOdL„fg¡dPdQ„ƒZ@dRdS„ZAej! "dTe BdU¡e BdU¡dVg¡dWdX„ƒZCej! "dYdZd[d\d]g¡d^d_„ƒZDd`da„ZEdbdc„ZFej! "dddedfidfidgfdedhidgfdediidjfg¡dkdl„ƒZGej! "d.dmdndog¡ej! "dpdd$g¡dqdr„ƒƒZHej! "dsdtdudvg¡dwdx„ƒZIej! "dydzdL„d{dL„d|dL„d}dL„g¡d~d„ƒZJej! "d.ee d€dd‚gƒƒe Kd€¡e Kd¡e Kd‚¡ge $e Kd€¡e Kd¡e Kd‚¡g¡ed€dd‚gƒg¡dƒd„„ƒZLej! "d…de d†ƒe d‡ƒe dˆƒe d‰ƒgg¡ej! "dŠe#ej$ee g¡d‹dŒ„ƒƒZMddŽ„ZNdd„ZOej! "d‘dd’d“g¡d”d•„ƒZPd–d—„ZQej! "d…d˜d™g¡ej! "dše ejRfej$ejSfe#ejTfg¡d›dœ„ƒƒZUej! "dCdidd5g¡ddž„ƒZVej! "d…dddŸd gg¡ej! "d9d5d:g¡ej! "d¡d5d:g¡d¢d£„ƒƒƒZWej! "d¤d d¥d¦gd§d¨d©dªgd«d¬d«gdddgd«d¬gfdddŸgdd$d/d˜d­gd$ddd$gd$ddgddd$gfg¡d®d¯„ƒZXej! "d¤d d¥d¦gd§d¨d©dªgd°d¬d«gddd$gd°d¬d«gfdddŸgdd$d/d˜d­gdddd$gddd$gdddd$gfg¡d±d²„ƒZYd³d´„ZZdµd¶„Z[d·d¸„Z\d¹dº„Z]d»d¼„Z^d½d¾„Z_d¿dÀ„Z`dÁd„ZadS)ÃéN)Ú CategoricalÚ    DataFrameÚ DatetimeIndexÚIndexÚIntervalÚ IntervalIndexÚSeriesÚTimedeltaIndexÚ    TimestampÚcutÚ
date_rangeÚinterval_rangeÚisnaÚqcutÚtimedelta_rangeÚ to_datetime)ÚCategoricalDtypecCsDtjddd}t|ddd}t dddddg¡}tj||dddS)    NéÚint64©ÚdtypeéF©Úlabelsé)Z check_dtype)ÚnpZonesr ÚarrayÚtmÚassert_numpy_array_equal)ÚdataÚresultÚexpected©r"úTd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/reshape/test_cut.pyÚ test_simplesr$Úfuncc    Cs‚|ddddddgƒ}t|ddd    \}}t | d¡¡}| d
d
d
d d d
g¡}t|dd }t ||¡t |t     
ddddg¡¡dS)N皙™™™™É?çffffffö?ç@çÍÌÌÌÌÌ@çffffff#@çÍÌÌÌÌÌ@éT©Úretbinsrré©Úorderedçü©ñÒMbÈ?g>waïîî
@gúÝè!""@) r rÚ from_breaksÚroundÚtakerrÚassert_categorical_equalÚassert_almost_equalrr)r%rr ÚbinsÚ    intervalsr!r"r"r#Ú    test_bins$s  r:c
CsŒt dddddddg¡}t|dd    d    d
\}}t | d ¡¡}t|d    d }| d d d dd d d g¡}t     ||¡t 
|t dddddg¡¡dS)Nr&r'r(r)r*r+皙™™™™@rT©Úrightr.r,r0rr/r2çÍÌÌÌÌÌ@çÍÌÌÌÌL@) rrr rr3r4rr5rr6r7©rr r8r9r!r"r"r#Ú
test_right1s  rAc
Cst dddddddg¡}t|dd    d
d \}}tj| d ¡d d}| ddddd ddg¡}t|d
d}t     ||¡t 
|t dddddg¡¡dS)Nr&r'r(r)r*r+r;rFTr<r,Úleft©Úclosedrr/rr0r>r?g%•Ck#@) rrr rr3r4r5rrr6r7r@r"r"r#Ú test_no_right=s  rEcCsnttdƒdƒ}|}ttdƒ|jd}t ||¡tjt |j    d¡|jdd}ttdƒ|jd}t ||¡dS)Nrr,©r8éÿÿÿÿT©Ú
categoriesr1é)
r ÚrangerIrr6rÚ
from_codesrÚappendÚcodes)Úcr!r r"r"r#Útest_bins_from_interval_indexIs  ÿrPc Cs’t ddddddddd    g    ¡}t|d
d d d gd}t dddg¡}t |j|¡tdddg|jd}t |j|¡t |j    tjdddgdd¡dS)Né
éé é éééé;é<réé#éFrF)rrZ)rZr[)r[r\éé2rr/Zint8r)
rrr rÚ from_tuplesrÚassert_index_equalrIrrN)ZagesrOr!r r"r"r#Ú)test_bins_from_interval_index_doc_exampleVsrac    CsBd}t dddg¡}tjt|dtddg|dW5QRXdS)    Nz)Overlapping IntervalIndex is not accepted)rrQ)r/rT)ré©ÚmatchrrJrF)rr_ÚpytestÚraisesÚ
ValueErrorr )ÚmsgÚiir"r"r#Ú-test_bins_not_overlapping_from_interval_indexbsrjc    CsDd}ddddddg}tjt|dt|d    d
d d gƒW5QRXdS) Nz bins must increase monotonicallyr&r'r(r)r*r+rc皙™™™™¹?çø?rrQ©rerfrgr ©rhrr"r"r#Útest_bins_not_monotonicksrozx, bins, expectedz
2017-12-31r,©Úperiodsz
2018-01-01rGrrrÚnscCst||ƒ}t |j|¡dS©N)r rr`rI)Úxr8r!r r"r"r#Ú#test_bins_monotonic_not_overflowingss4
ruc    CsLd}ddddddg}tjt|d t|d    d
d gd d dgdW5QRXdS)Nz9Bin labels must be one fewer than the number of bin edgesr&r'r(r)r*r+rcrrrQÚfooÚbarZbazrrmrnr"r"r#Útest_wrong_num_labels«srxz
x,bins,msgr/zCannot cut empty arrayçà?z#`bins` should be a positive integerc    Cs(tjt|dt||ƒW5QRXdS)Nrcrm)rtr8rhr"r"r#Útest_cut_corner³srzÚargÚcut_funcc    Cs,d}tjt|d||dƒW5QRXdS)Nz!Input array must be 1 dimensionalrcr/)rerfrg)r{r|rhr"r"r#Útest_cut_not_1d_arg¿sr}rrc    Cs.d}tjt|dt|ddW5QRXdS)Nz?cannot specify integer `bins` when input data contains infinityrcr,rFrm)rrhr"r"r#Útest_int_bins_with_infÇs
r~cCsZd}tdddddg|d}t|ddgdd}ttjtjtjdtjg|d}t ||¡dS)    NrtrrGréýÿÿÿ©ÚnameFr)rr rÚnanrÚassert_series_equal)rÚserÚindÚexpr"r"r#Útest_cut_out_of_range_moreÖs
r‡zright,breaks,closedTçü©ñÒMbP¿gÐ?çè?r=Fgj¼t“ð?rBcCsJt t ddd¡d¡}t|dd|d\}}tj||d}t |j|¡dS)Nrg)\Âõ(ð?rkrT)r.r=rC)    rÚtileÚaranger rr3rr`rI)r=ZbreaksrDÚarrr r8Ú    ex_levelsr"r"r#Ú test_labelsásrŽcCs4d}ttj d¡|d}t|dƒ}|j|ks0t‚dS)Nrvédr€r)rrÚrandomÚrandnr rÚAssertionError)rr„Zfactorr"r"r#Ú#test_cut_pass_series_name_to_factorðs
r“cCsBt ddd¡}t|ddd}t ddd    d
d g¡}t |j|¡dS) Nrg\Âõ(\ç?ç{®Gáz„?rr/©Ú    precisiongÖÿ9̗G¿g
×£p=
Ç?g
×£p=
×?gHáz®Gá?g
×£p=
ç?)rr‹r rr3rr`rI)rŒr rr"r"r#Útest_label_precisionøsr—rcCsZt ddd¡}tj|ddd…<t|d|d}t |¡}t t|ƒtj|¡}t ||¡dS)Nrr‰r”r,rr)    rr‹r‚r ZasarrayÚwhererrr7)rrŒr r!r"r"r#Útest_na_handlings 
r™cCs¼t d¡}t|dd}tj ddtjg}t||ƒ}t||ƒ}t |¡}t |j    |¡|dt
dtjƒkslt ‚|dt
tj dƒks†t ‚|dt
dtjƒksžt ‚|dt
tj dƒks¸t ‚dS)NrJrrr/rrr) rr‹rÚinfr rr3rr`rIrr’)rZdata_serr8r Z
result_serZ
ex_uniquesr"r"r#Útest_inf_handling s
 
 
 
r›cCsDtj d¡}t|dddgƒ}t|ƒ}|dk|dkB}t ||¡dS)NrrGrr)rrr‘r rrr)rŒr ÚmaskZex_maskr"r"r#Útest_cut_out_of_boundss
 rzget_labels,get_expectedcCs|Srsr"rr"r"r#Ú<lambda>*óržcCs"tdgddgddg|ddS)NÚMediumrÚSmallÚLargeTrH)rrr"r"r#rž+sýcCst dddg|¡S)Nrrr/©rrLrr"r"r#rž2rŸcCs t dgddgddg|¡S)Nrrrr/r£rr"r"r#rž3rŸcCsNddddg}dddddd    d
g}d d d g}t||||ƒd}t |||ƒ¡dS)NrrVr^rrrQrRr]ér\r¡r r¢r)r rr6)Z
get_labelsZ get_expectedr8rŒrr r"r"r#Útest_cut_pass_labels&s
 
r¥cCsRdddddddg}dd    d
g}t|d |d }t|d t||d dd }t ||¡dS)Nr^rrQrRr]r¤r\ZGoodr ZBadr,rTrH)r rrr6)rŒrr r†r"r"r#Útest_cut_pass_labels_compat@s
 
r¦rtg&@g _ BcCst|dƒdS)Nr/©r )rtr"r"r#Útest_round_frac_just_worksJsr¨zval,precision,expected)gœ¢#¹ü]Àr,iŠÿÿÿ)眢#¹ü]@r,év)r©r/rª)gݔ    ÷~. ?r/giUMu?cCstj||d}||kst‚dS)Nr•)ÚtmodZ _round_fracr’)Úvalr–r!r r"r"r#Útest_round_fracPs r­c Cstddddddddd    g    ƒ}t|dƒ}tjdd    dd
 d¡}|dd 8<ttj|d d  dddddddddg    ¡ƒ t    dd¡}t
  ||¡dS)Nrrr/r,rrrJéé)Únumgü©ñÒMb€?r=rCTr0) rr rZlinspacer4rr3r5ÚastypeÚCDTrrƒ)r„r Zexp_binsr!r"r"r#Útest_cut_return_intervals_s
ÿÿür³cCsZtt d¡ƒ}t|ddd\}}ttjdddgdd     d¡ƒ tdd
¡}t     
||¡dS) Nrr/Tr-gú~j¼t“h¿rlr,r=rCr0) rrr‹r rr3Úrepeatr±r²rrƒ)r„r r8r!r"r"r#Útest_series_ret_binsnsÿþrµz
kwargs,msgÚ
duplicatesÚdropzBin edges must be uniqueÚraiservz(invalid value for 'duplicates' parameterc    Cs–ddddddg}tt dddd    d
g¡d d d ddgd}|dk    rhtjt|dt||f|ŽW5QRXn*t||f|Ž}t|t |¡ƒ}t     
||¡dS)Nrr/rrJrQrr,rr®é    ÚaÚbrOÚdÚe©Úindexrc) rrrrerfrgr ÚpdÚuniquerrƒ)Úkwargsrhr8Úvaluesr r!r"r"r#Útest_cut_duplicates_binys &rÄg"@g"ÀgÚlengthcCs@t|g|ƒ}t|ddd}tdg|tjd}t ||¡dS)NrFrrr)rr rZintprrƒ)rrÅr„r r!r"r"r#Útest_single_binsrÆz#array_1_writeable,array_2_writeable)TT)TF)FFcCsRt ddd¡}||j_t ddd¡}||j_t d¡}t t||ƒt||ƒ¡dS)NrrrQ)rr‹ÚflagsZ    writeablerr6r )Zarray_1_writeableZarray_2_writeableZarray_1Zarray_2Zhundred_elementsr"r"r#Útest_cut_read_only›s
ÿrÈÚconvcCst|ƒSrs)r
©Úvr"r"r#rž¯rŸcCst|ƒSrs)rrÊr"r"r#rž°rŸcCs
t |¡Srs)rÚ
datetime64rÊr"r"r#rž±rŸcCs t|ƒ ¡Srs)r
Z to_pydatetimerÊr"r"r#rž²rŸcs˜t d¡t d¡g}dddg}tttt|dƒt|dƒƒtt|dƒt|dƒƒgƒƒ td    d
¡}‡fd d „|Dƒ}tt||d ƒ}t     
||¡dS)Nz
2012-12-13z
2012-12-15z
2012-12-12z
2012-12-14z
2012-12-16rrr/Tr0csg|] }ˆ|ƒ‘qSr"r")Ú.0rË©rÉr"r#Ú
<listcomp>Âsz%test_datetime_bin.<locals>.<listcomp>rF) rrÌrrrr
r±r²r rrƒ)rÉrZbin_datar!r8r r"rÎr#Útest_datetime_bin¬s
 
þÿÿù    rÐz
2013-01-01z
2013-01-02z
2013-01-03cCsnt|ddd\}}ttttdƒtdƒƒttdƒtdƒƒttdƒtdƒƒgƒƒ tdd¡}t t|ƒ|¡dS)    Nr,Tr-ú2012-12-31 23:57:07.200000ú2013-01-01 16:00:00ú2013-01-02 08:00:00ú2013-01-03 00:00:00r0)    r rrrr
r±r²rrƒ)rr Ú_r!r"r"r#Útest_datetime_cutÇs*þÿÿøÿÿñrÖr8z2013-01-01 04:57:07.200000z2013-01-01 21:00:00z2013-01-02 13:00:00z2013-01-03 05:00:00Úboxc
Cs¢d}ttdd|dƒ}t|tƒs(||ƒ}t||ƒ}ttttd|dtd|dƒttd|dtd|dƒttd|dtd    |dƒgƒƒ t    d
d ¡}t
  ||¡dS) Nz
US/EasternÚ20130101r,©rqÚtzrÑ)rÚrÒrÓrÔTr0) rr Ú
isinstanceÚintr rrr
r±r²rrƒ)r8r×rÚÚsr r!r"r"r#Útest_datetime_tz_cutòs2
 
 
 
þ
 
þ
 
þ÷ÿÿïrÞc    Cs<d}tjt|d ttddddddgd    W5QRXdS)
Nz bins must be of datetime64 dtypercrØr,rprr/rrF)rerfrgr r ©rhr"r"r#Útest_datetime_nan_errorsràc
Csbttdddtdddd}|j ¡}t |t dg¡¡| ¡}t |t dddddg¡¡dS)    NZ20130102rrprØr/rFFT)r r rIrrrrr)r rœr"r"r#Útest_datetime_nan_mask$s
 
ÿ
rárÚÚUTCz
US/PacificcCsbttdd|dƒ}t|ddd\}}t||ƒ}t ||¡tddd    gƒ}| |¡}t ||¡dS)
NZ20180101r,rÙr/Tr-z2017-12-31 23:57:07.200000z2018-01-02 00:00:00z2018-01-03 00:00:00)rr r rrƒrZ tz_localizer`)rÚr„r Ú result_binsr!Ú expected_binsr"r"r#Útest_datetime_cut_roundtrip0s
 ÿ
råcCsVttdddƒ}t|ddd\}}t||ƒ}t ||¡tddd    gƒ}t ||¡dS)
NZ1dayr,rpr/Tr-z0 days 23:57:07.200000z2 days 00:00:00z3 days 00:00:00)rrr rrƒr    r`)r„r rãr!rär"r"r#Útest_timedelta_cut_roundtrip@s
 ÿrærJr®z box, comparecCsV|dddddgdƒ}|dddddgdƒ}t||dd}t||dd}|||ƒdS)NrrrQFTr·)r¶r§)r8r×ÚcompareZ data_expectedZ data_resultr!r r"r"r#Útest_cut_bool_coercion_to_intNs
rèc    Cs8tdƒ}d}tjt|dt|d|dW5QRXdS)NrzJBin labels must either be False, None or passed in as a list-like argumentrcrr)rKrerfrgr )rrÃrhr"r"r#Útest_cut_incorrect_labels`srérrRÚinclude_lowestcCsbtjjdddd t¡}tj|ddd…<ttj|dd|||d}t||||d}t     
||¡dS)    NrrQr^)Úsizer/ÚInt64r)r=rê) rrÚrandintr±Úfloatr‚r rÀrrr6)r8r=rêrºr r!r"r"r#Útest_cut_nullable_integeris ÿrïz3data, bins, labels, expected_codes, expected_labelséérbérZr]ÚAÚBr¯cCs0t|||dd}tj||dd}t ||¡dS©NF©r8rr1rH©r rrLrr6©rr8rZexpected_codesZexpected_labelsr r!r"r"r#Útest_cut_non_unique_labelsvs    ÿrùÚCcCs0t|||dd}tj||dd}t ||¡dSrõr÷rør"r"r#Útest_cut_unordered_labels†s    ÿrûc    Cs:d}tjt|dtddgdddgdd    W5QRXdS)
Nz.'labels' must be provided if 'ordered = False'rcryr,rrr/F)r8r1rmrßr"r"r#Ú3test_cut_unordered_with_missing_labels_raises_error–srücCsftdddddgƒ}tddddgƒ}tdd    d
gƒ}t|||d d }tddd    d    d
gd d}t ||¡dS)Nrr/r,rrrrJrºr»rOFröÚcategoryr)rr rrƒ)rÝr8rr r!r"r"r#Ú%test_cut_unordered_with_series_labelss rþc    Csftdtj ddd¡iƒ}dd„tdddƒDƒ}t d¡$t|jtdd    dƒd|d
|d <W5QRXdS) NÚvaluerrr]cSsg|]}|›d|d›‘qS)z - r¹r")rÍÚir"r"r#rÏ©sz(test_cut_no_warnings.<locals>.<listcomp>rQFéi)r=rÚgroup)    rrrrírKrZassert_produces_warningr rÿ)Zdfrr"r"r#Útest_cut_no_warnings§s rcCsŽttddddgdtddddtddddgdddddgd    d
j ¡}tdddddgdddddgd }t|dddgd d }t ||¡dS)Nrˆr/r=rCr,rrrrý)r¿rr¾T)r8rê)rrÚcatZ
as_orderedr rrƒ)r!rÝr r"r"r#Ú.test_cut_with_duplicated_index_lowest_included®sÿ ü  rcCsttddƒƒ}t|dƒ ¡ d¡}t|dƒ ¡ d¡}t||dœƒ}tjt    dddd    t    dd
dd    t    d
d dd    t    d d dd    t    d d dd    t    d ddd    t    dddd    t    dddd    t    dddd    t    dddd    g
dd}tdgdt
j gdt
j gddgddœ|d}t   ||¡dS)NrrrQr)Ú1Ú2gòÒMbX¹¿gÍÌÌÌÌÌ#@r=rCgÍÌÌÌÌÌ3@g33333³=@gÍÌÌÌÌÌC@gÀH@g33333³M@g33333SQ@gÍÌÌÌÌÌS@gfffffFV@écTr0r¾)rrKr Z value_countsÚheadÚtailrrÀZCategoricalIndexrrr‚rZassert_frame_equal)r„Zser1Zser2r r¿r!r"r"r#Ú*test_cut_with_nonexact_categorical_indices¼s.          ö ó,ÿr cCs^tdƒftdƒftdƒfg}tdddgddd    d
g|d }tjd ddg|d d}t ||¡dS)NrQr]r¤r/rrJrr,rr®)r8rrTr0)r
r rrLrr6)rr r!r"r"r#Ú$test_cut_with_timestamp_tuple_labelsÛsr cCsPttdƒtdƒdd}tttdƒgƒ|d}tjdg|dd    }t |j|¡dS)
Nz
2022-02-25z
2022-02-27Z1D)Úfreqz
2022-02-26rFrTr0)    r r
r rrrLrr6r)r8r r!r"r"r#Ú$test_cut_bins_datetime_intervalindexäsrc
Csvtdddddtjddgdd    }ddddd
g}t |¡}ttjd ddddd ddg|d d ƒ}t||d}t     ||¡dS)Nrrr/r,rrJr®rìrr¯rGTr0rF)
rrÀZNArr3rrLr rrƒ)Zseriesr8r9r!r r"r"r#Útest_cut_with_nullable_int64ís
ÿ r)bÚnumpyrreZpandasrÀrrrrrrrr    r
r r r rrrrZpandas._testingZ_testingrZpandas.api.typesrr²Zpandas.core.reshape.tileÚcoreZreshaperŠr«r$ÚmarkZ parametrizeÚlistrr:rArErPrarjroÚminÚmaxr_ZiinforZ timedelta64rurxrzZeyer}ršr~r‡rŽr“r—r™r›rr¥r¦r‹r¨r­r³rµrÄrÆrÈrÐrÌrÖrÞràrárårærƒr6Z assert_equalrèrérïrùrûrürþrrr r rrr"r"r"r#Ú<module>s¨H  
        
  þÿý ÿ"ÿû
 
 
ý
ýÿ
þ
þûÿóìþ2
þþ
" ýþ
 þþ
 
    þ    þ÷þ
    
 
üþ    
 
 
 
üþ    
     ÿ
üþ    
ýýÿ òþ
üþþ   
 
ýþ     
 
*0þþ
    ,2þþ