zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
U
­ý°d7Xã@sÄddlZddlZddlmZddlmZmZmZm    Z    m
Z
ddl m Z ddlmZejdd„ƒZGdd„dƒZGd    d
„d
ƒZGd d „d ƒZGd d„dƒZGdd„dƒZGdd„dƒZGdd„dƒZdS)éN)ÚInvalidIndexError)ÚNAÚIndexÚ
RangeIndexÚSeriesÚ    Timestamp)Ú FloatingArraycCsdddddg}t|tjdS)Nìl
lll©Údtype)rÚnpÚuint64)Zlarge©rúad:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/numeric/test_indexing.pyÚ index_largesrc@s‚eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zej     
d d gd ge dƒgdgg¡dd„ƒZ ej     
ddddg¡dd„ƒZ dd„ZdS)Ú
TestGetLoccCs$tdddgƒ}| d¡dks t‚dS)Nréé)rÚget_locÚAssertionError©ÚselfÚindexrrrÚ test_get_locszTestGetLoc.test_get_locc    Cs:tdddgƒ}tjtdd| ddg¡W5QRXdS)Nrrrz\[1, 2\]©Úmatch)rÚpytestÚraisesrrrrrrÚtest_get_loc_raises_bad_labelsz(TestGetLoc.test_get_loc_raises_bad_labelc    Cs¨tdddgtjd}tjtdd| d¡W5QRXtjtdd| d    ¡W5QRXtjtd
d| d ¡W5QRXtjtd d| d ¡W5QRXdS)Nççð?ç@r
z^'foo'$rÚfooz^1\.5$çø?z^True$Tz^False$F)rr Úfloat64rrÚKeyErrorr©rÚidxrrrÚtest_get_loc_float64"szTestGetLoc.test_get_loc_float64c    Csìttjddgtjd}| d¡dks(t‚| tj¡dks<t‚ttjdtjgtjd}| d¡dksft‚d}tjt|d|     tj¡W5QRXttjdtjtjgtjd}| d¡dks¾t‚d}tjt|d|     tj¡W5QRXdS)Nrrr
rz7'Cannot get left slice bound for non-unique label: nan'rz6'Cannot get left slice bound for non-unique label: nan)
rr Únanr$rrrrr%Ú
slice_locs)rr'ÚmsgrrrÚtest_get_loc_na.szTestGetLoc.test_get_loc_nac    Csštddgtjd}| d¡dks$t‚tjtdd| d¡W5QRXtjtdd| tj¡W5QRXtjt    d    d| tjg¡W5QRXdS)
Nrrr
rz^3$réz^nan$z\[nan\])
rr r$rrrrr%r)rr&rrrÚtest_get_loc_missing_nanAsz#TestGetLoc.test_get_loc_missing_nanÚvalsrr z
2019-12-31Útestc    Cs2t|ƒ}tjtdd| tj¡W5QRXdS)Nr)r)rrrr%rr r))rr/r'rrrÚ(test_get_loc_float_index_nan_with_methodMsz3TestGetLoc.test_get_loc_float_index_nan_with_methodr Zf8Úi8Úu8c    Cs>tjd|d}t|ƒ}tjtdd| d¡W5QRXdS)Ni€–˜r
ÚNoner)r Úarangerrrr%r)rr Zarrr'rrrÚ%test_get_loc_numericindex_none_raisesTsz0TestGetLoc.test_get_loc_numericindex_none_raisesc    Csvtdddgƒ}t tj¡jd}tjtt|ƒd|     |¡W5QRXtjtt|ƒd|j
     |¡W5QRXdS)Nrrrr) rr ZiinfoÚint64Úmaxrrr%ÚstrrZ_engine)rr'ÚvalrrrÚtest_get_loc_overflows\s z!TestGetLoc.test_get_loc_overflowsN)Ú__name__Ú
__module__Ú __qualname__rrr(r,r.rÚmarkÚ parametrizerr1r6r;rrrrrs   
 
rc@sœeZdZdd„Zej dddg¡ej dejdddd    d    gej    d
d fejdddd    d    gej    d
d fejddd    d    d gej    d
dfejddd    d    d gej    d
dfg¡dd„ƒƒZ
dd„Z ej dd ddddgdddgfdddddgdddgfdddddgdddgfd ddddgdddgfdddddgdddgfdddddgdddgfd ddddgdd    dgfdddddgd    d dgfdddddgdd dgfd d    dddgdd    dgfdd    dddgd    d dgfdd    dddgdd dgfd ddddgdddgfdddddgdd dgfdddddgdd dgfg¡dd„ƒZ ej de eeejg¡ej d e ed!d!d"gdd"d"gd"d#d#ggdd dgdddgdd dggƒƒ¡d$d%„ƒƒZd&d'„Zej d(d dd)dgfdddd    gfddd)dgfg¡d*d+„ƒZej d,d-d.d/d0g¡ej d1d2d3g¡d4d5„ƒƒZej d1d ddg¡d6d7„ƒZd8d9„Zd:d;„Zd<d=„Zd>d?„Zd@dA„Zej dBdCdDdEefeefg¡dFdG„ƒZdHdI„ZdJdK„Zej dLdEd g¡dMdN„ƒZej dOdPdQg¡dRdS„ƒZ dS)TÚTestGetIndexercCsPtdddddgƒ}tdddgƒ}| |¡}tjdddgtjd}t ||¡dS)    Nrrr-ééééÿÿÿÿr
)rÚ get_indexerr ÚarrayÚintpÚtmÚassert_almost_equal)rÚindex1Úindex2Zr1Úe1rrrÚtest_get_indexeris
 
zTestGetIndexer.test_get_indexerÚreverseTFzexpected,methodrErrr
ÚpadZffillrÚbackfillZbfillcCs^tdddddgƒ}tdddgƒ}|r@|ddd…}|ddd…}|j||d}t ||¡dS)    Nrrr-rBrCrDrE©Úmethod)rrFrIrJ)rrOÚexpectedrSrKrLÚresultrrrÚtest_get_indexer_methodsqs z'TestGetIndexer.test_get_indexer_methodsc    Csjtt d¡ƒ}tjtdd|jddgddW5QRXtjtdd|jddgddW5QRXdS)    Né
ztolerance argumentrrr)Ú    toleranceúlimit argument)Úlimit©rr r5rrÚ
ValueErrorrFrrrrÚtest_get_indexer_invalid†s
z'TestGetIndexer.test_get_indexer_invalidz$method, tolerance, indexer, expectedNrCé    Únearest皙™™™™É?çÍÌÌÌÌÌü?ç!@écCs:tt d¡ƒ}|j|||d}t |tj|tjd¡dS)NrW©rSrXr
©rr r5rFrIÚassert_numpy_array_equalrGrH)rrSrXÚindexerrTrÚactualrrrÚtest_get_indexer_nearestsz'TestGetIndexer.test_get_indexer_nearestÚlisttypeztolerance, expectedg333333Ó?gš™™™™™¹?çà?cCsDtt d¡ƒ}|jdddgd||ƒd}t |tj|tjd¡dS)NrWr`rarbr_rdr
re)rrXrTrjrrhrrrÚ+test_get_indexer_nearest_listlike_toleranceªs ÿz:TestGetIndexer.test_get_indexer_nearest_listlike_tolerancec    Csttt d¡ƒ}tjtdd|jddgdddW5QRXtjtdd |jddgddd    d
gd W5QRXdS) NrWrYrrrr_)rSrZztolerance size must matchrr-rdr[rrrrÚtest_get_indexer_nearest_error¾s
z-TestGetIndexer.test_get_indexer_nearest_errorzmethod,expectedécCsztt d¡ƒddd…}|jdddg|d}t |tjdddgtjd¡|jd    d
d g|d}t |tj|tjd¡dS) NrWrErrCr^rRrBr
r`rarbre)rrSrTrrhrrrÚ#test_get_indexer_nearest_decreasingÆs
z2TestGetIndexer.test_get_indexer_nearest_decreasingÚ    idx_dtyper7r$r ÚrangerSrFÚget_indexer_non_uniquecCs |dkrtdƒ}nttjd|dƒ}tdddgƒ}t||ƒ|ƒ}tjdddgtjd}|dkrlt ||¡n0tjdtjd}t |d    |¡t |d
|¡dS) NrqrBr
TFrErFr-rr)    rrr r5ÚgetattrrGrHrIrf)rrSrpZ numeric_indexÚotherrUrTÚmissingrrrÚ-test_get_indexer_numeric_index_boolean_targetÓs
z<TestGetIndexer.test_get_indexer_numeric_index_boolean_targetc    Csntdddgƒ}tddgƒ}tjtdd|j||dW5QRXtjtdd|j||dW5QRXdS)    Nrrr-TFzCannot comparerrR)rrrÚ    TypeErrorrF)rrSÚleftÚrightrrrÚ,test_get_indexer_with_method_numeric_vs_boolès  z;TestGetIndexer.test_get_indexer_with_method_numeric_vs_boolcCsÞtdddgƒ}tddgƒ}| |¡}dtjt|ƒtjd}t ||¡| |¡}dtjt|ƒtjd}t ||¡| |¡d}dtjt|ƒtjd}t ||¡| |¡d}dtjt|ƒtjd}t ||¡dS)    Nrrr-TFrEr
r)    rrFr ZonesÚlenrHrIrfrr)rrxryÚresrTrrrÚ test_get_indexer_numeric_vs_boolós 
 
  z/TestGetIndexer.test_get_indexer_numeric_vs_boolcCs¸tdddgtjd}t | |¡tjdddgtjd¡dd    d
g}t | |d ¡tjd ddgtjd¡t | |d ¡tjdddgtjd¡t | |d¡tjdddgtjd¡dS)Nrr r!r
rrrgš™™™™™¹¿rkgš™™™™™ñ?rPrErQr_)rr r$rIrfrFrGrH)rr'ÚtargetrrrÚtest_get_indexer_float64s$ÿ
 
ÿ
ÿ
ÿz'TestGetIndexer.test_get_indexer_float64cCsBtddtjgtjd tjg¡}tjdgtjd}t ||¡dS)Nrrr
)    rr r)r$rFrGrHrIrf)rrUrTrrrÚtest_get_indexer_nans z#TestGetIndexer.test_get_indexer_nanc Cs ttdddƒtjd}tt d¡tjd}| |¡}tjddddddddd    dg
tjd}t     ||¡tt d¡tjd}|j|d
d }tjddddddddd    d    g
tjd}t     ||¡tt d¡tjd}|j|d d }tjdddddddd    d    d g
tjd}t     ||¡dS)Nrérr
rWrErr-rBrPrRrQrC)
rrqr r7r5rFrGrHrIrf)rrr~rgrTrrrÚtest_get_indexer_int64s
$ $ $z%TestGetIndexer.test_get_indexer_int64c Cstt d¡ d¡ddƒ}| |¡}tjddddd    d
ddddg
tjd }t ||¡tt d¡ d¡ddƒ}|j|d d }tjddddd    d
d
d
d
d
g
tjd }t ||¡tt d¡ d¡ddƒ}|j|dd }tjddddd    d
ddddg
tjd }t ||¡dS)NrWr rCr    rrErrr-rBr
rPrRrQ)    rr r5ZastyperFrGrHrIrf)rrr~rgrTrrrÚtest_get_indexer_uint64/s
$ $ $z&TestGetIndexer.test_get_indexer_uint64z    val, val2)rBrC)rBrBrBc    CsTtddd||g|d}| d¡}|dks,t‚tjtdd| d¡W5QRXdS)Nrrr-r
Ú9rr^)rrrrrr%)rr:Zval2Úany_numeric_ea_and_arrow_dtyper'rUrrrÚtest_get_loc_masked?s
 
 z"TestGetIndexer.test_get_loc_maskedc    Csštddtg|d}| t¡}|dks(t‚tddttg|d}| t¡}t |t ddddg¡¡tdddg|d}tj    t
dd| t¡W5QRXdS)    Nrrr
FTr-rr) rrrrrIrfr rGrrr%)rr…r'rUrrrÚtest_get_loc_masked_naIs
 
z%TestGetIndexer.test_get_loc_masked_nac    Cs,ttt dddtjg¡t ddddg¡dƒ}| t¡}|dksDt‚| tj¡}|dks\t‚ttt dddg¡t dddg¡dƒ}| t¡}|dksšt‚tj    t
dd    | tj¡W5QRXttt ddtjg¡t dddg¡dƒ}| tj¡}|dkst‚tj    t
d
d    | t¡W5QRXdS) NrrFT)Úmaskr-r r)rr) rrr rGr)rrrrrr%)rr'rUrrrÚtest_get_loc_masked_na_and_nanWs6ÿÿ
   "ÿ
 ÿÿ z-TestGetIndexer.test_get_loc_masked_na_and_nanr:cCsJtddtd|g|d}| dtdg¡}t dddg¡}tj||dd    dS)
Nrrr-r
rCrrEF)Z check_dtype)rrZget_indexer_forr rGrIrf)rr…r:r'rUrTrrrÚtest_get_indexer_masked_nausz)TestGetIndexer.test_get_indexer_masked_nar Úbooleanú bool[pyarrow]cCsT|dkrt d¡tddtg|d}| d¡}|dks:t‚| t¡}|dksPt‚dS)NrŒZpyarrowTFr
rr)rZ importorskiprrrr)rr r'rUrrrÚ"test_get_indexer_masked_na_boolean}s
 
 
z1TestGetIndexer.test_get_indexer_masked_na_boolean)!r<r=r>rNrr?r@r rGrHrVr]riÚlistÚtuplerÚziprlrmrorvrzr}rr€r‚rƒrr†r‡r‰rŠrrrrrrAhs†üþ     
ñþ
þÿþ    
&þ
     
 
 
    
rAc
@sfeZdZej deejdddƒee    dddƒej
deejdddƒg¡d    d
„ƒZ d d „Z d d„Z dS)Ú    TestWhererrCr$r
rrrr cCsxdgt|ƒ}|}| ||ƒ¡}dgdgt|ƒd}t|jg|dd… ¡tjd}| ||ƒ¡}t ||¡dS)NTFrr
)    r{ÚwhererZ    _na_valueÚtolistr r$rIÚassert_index_equal)rZ listlike_boxrÚcondrTrUrrrÚ
test_whereŠs    "zTestWhere.test_wherecCs€tdddgtjd}t dddg¡}tjdgtjd}tdddgtjd}| ||¡}t ||¡| ||¡}t ||¡dS)NrrDrr
FTr)    rr r rGr7r’rIr”Zputmask)rr'rˆrtrTrUrrrÚtest_where_uint64œs  zTestWhere.test_where_uint64cCsNtdtjgƒ}| ¡}tddgdd}tddgƒ}| ||¡}t ||¡dS)NrÚaÚbÚstringr
r )rr r)Znotnar’rIr”)rrr•rtrTrUrrrÚCtest_where_infers_type_instead_of_trying_to_convert_string_to_float©s   zMTestWhere.test_where_infers_type_instead_of_trying_to_convert_string_to_floatN)r<r=r>rr?r@rr r5rqr7r–r—r›rrrrr‘‰sýþ
 
 r‘c@sTeZdZej dejejej    g¡dd„ƒZ
dd„Z ej dejej    g¡dd„ƒZ d    S)
ÚTestTakerpcCs:tddddg|dd}| dddg¡}|j|jks6t‚dS)Nrrr-rBr"©r Únamer)rÚtakeržr)rrprZtakenrrrÚtest_take_preserve_name¶sz TestTake.test_take_preserve_namec    Csltdddgdtjd}| t dddg¡¡}tdddgtjdd    }t ||¡|jt dddg¡d
d }tddtjgtjdd    }t ||¡|jt dddg¡d d
d }tdddgtjdd    }t ||¡d}tj    t
|d |jt dddg¡d
d W5QRXtj    t
|d |jt dddg¡d
d W5QRXd}tj    t |d| t ddg¡¡W5QRXdS)Nr r!g@Úxxx)ržr rrrErT©Ú
fill_valueF©Z
allow_fillr£zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1réþÿÿÿéûÿÿÿú3index -5 is out of bounds for (axis 0 with )?size 3) rr r$rŸrGrIr”r)rrr\Ú
IndexError)rr'rUrTr+rrrÚtest_take_fill_value_float64¼s&   ÿ$$z%TestTake.test_take_fill_value_float64r c    Csntdddg|dd}| t dddg¡¡}tdddg|dd}t ||¡t|ƒj}d|›d    }tj    t
|d
 |jt dddg¡d d W5QRX|jt dddg¡d d d}tdddg|dd}t ||¡tj    t
|d
 |jt dddg¡d d W5QRXtj    t
|d
 |jt dddg¡d d W5QRXd}tj    t |d
| t ddg¡¡W5QRXdS)Nrrr-r¡rrrEzUnable to fill values because z cannot contain NArTr¢Fr¤r¥r¦r§) rrŸr rGrIr”Útyper<rrr\r¨)rr r'rUrTržr+rrrÚtest_take_fill_value_intsÚs$ 
 $ $$z"TestTake.test_take_fill_value_intsN) r<r=r>rr?r@r r$r7r r r©r«rrrrrœµs
 
rœc@s>eZdZej dejejej    g¡dd„ƒZ
dd„Z dd„Z dS)    Ú TestContainsr cCs&tdddddg|d}d|ks"t‚dS)Nrrrr-rBr
)rr)rr rrrrÚtest_contains_noneùszTestContains.test_contains_nonecCs(tddtjgtjd}tj|ks$t‚dS©Nr r!r
©rr r)r$rrrrrÚtest_contains_float64_nansÿsz'TestContains.test_contains_float64_nanscCs&tddtjgtjd}d|ks"t‚dSr®r¯rrrrÚtest_contains_float64_not_nanssz+TestContains.test_contains_float64_not_nansN) r<r=r>rr?r@r r$r7r r­r°r±rrrrr¬øs
r¬c@sjeZdZej deeg¡dd„ƒZej deeg¡dd„ƒZ    ej deeg¡dd„ƒZ
dd    „Z d
d „Z d S) Ú TestSliceLocsr c
Csèttjddddddddg|d    ƒ}t|ƒ}|jdd
d|fksBt‚|jd d
d |fksZt‚| d d ¡d ksnt‚| dd¡d |fks†t‚|jd ddksšt‚|jdddks®t‚|ddd…}| d d¡dksÐt‚| dd ¡dksät‚dS)NrrrrCrDrnr^rWr
©Ústartr-rc)r-rD©Úend)rrD)rrnrE©rrD)rrC©rr rGr{r*r©rr rÚnrLrrrÚtest_slice_locs    s"zTestSliceLocs.test_slice_locsc
Cs”ttjddddddddg|d    ƒ}t|ƒ}| d
d ¡d |fksBt‚| d d¡dksVt‚|ddd…}| dd¡dksxt‚| dd¡d|fkst‚dS)NrrrrCrDrnr^rWr
g@g$@r-g@g%@)r-rcrErbr#r·r¸r¹rrrÚtest_slice_locs_float_locss"z(TestSliceLocs.test_slice_locs_float_locscCs|ttjddddg|dƒ}| dd¡dks.t‚| dd¡dksBt‚|ddd…}| dd¡dksdt‚| dd¡dksxt‚dS)    NrWé ér
©rr-é é rE)rr rGr*r)rr rrLrrrÚtest_slice_locs_dup_numeric%s z)TestSliceLocs.test_slice_locs_dup_numericcCsdttjddgƒ}| d¡dks"t‚| tj¡dks6t‚tdtjtjddgƒ}| tj¡dks`t‚dS)Nrrr¿)rr-r)rrC)rr r)r*rrrrrÚtest_slice_locs_na/s
z TestSliceLocs.test_slice_locs_nac    Cs`ttjddgƒ}tjtdd|jddW5QRXtjtdd|jddW5QRXdS)NrrÚrr#r³rµ)rr r)rrr%r*rrrrÚtest_slice_locs_na_raises7s
z'TestSliceLocs.test_slice_locs_na_raisesN) r<r=r>rr?r@ÚintÚfloatr»r¼rÂrÃrÅrrrrr²s
 
 
 
    r²c@sReZdZej dddg¡dd„ƒZej dddg¡ej d    d
d g¡d d „ƒƒZdS)ÚTestGetSliceBoundszside, expected)rxrB)ryrCcCs*ttdƒƒ}|jd|d}||ks&t‚dS)NrDrB©Úside©rrqZget_slice_boundr)rrÊrTrrUrrrÚtest_get_slice_bounds_withinAs z/TestGetSliceBounds.test_get_slice_bounds_withinrÊrxryzbound, expected)rEr)rWrDcCs*ttdƒƒ}|j||d}||ks&t‚dS)NrDrÉrË)rrÊrTÚboundrrUrrrÚtest_get_slice_bounds_outsideGs z0TestGetSliceBounds.test_get_slice_bounds_outsideN)r<r=r>rr?r@rÌrÎrrrrrÈ@s
 
rÈ)Únumpyr rZ pandas.errorsrZpandasrrrrrZpandas._testingZ_testingrIZpandas.core.arraysrZfixturerrrAr‘rœr¬r²rÈrrrrÚ<module>s    
P#,C8