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
U
­ý°dÆ%ã@s¤dZddlmZmZddlZddlZddlZddlmZm    Z    m
Z
m Z m Z ddl mZddd„ZGdd    „d    ƒZGd
d „d ƒZd d „Zdd„Zdd„ZGdd„dƒZdS)z, test scalar indexing, including at and iat é)ÚdatetimeÚ    timedeltaN)Ú    DataFrameÚSeriesÚ    TimedeltaÚ    TimestampÚ
date_rangeFcCs"|j}|rdd„|Dƒ}tj|ŽS)zf
    generate the indices
    if values is True , use the axis values
    is False, use the range
    css|]}ttt|ƒƒƒVqdS)N)ÚlistÚrangeÚlen)Ú.0Zax©r úXd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexing/test_scalar.pyÚ    <genexpr>sz#generate_indices.<locals>.<genexpr>)ÚaxesÚ    itertoolsÚproduct)ÚfÚvaluesrr r rÚgenerate_indicessrc    @s˜eZdZej dddg¡ej dddg¡dd„ƒƒZej dddg¡ej dd    d
d g¡d d „ƒƒZej dddg¡ej dddd    d
d g¡dd„ƒƒZdS)Ú
TestScalarÚkindÚseriesÚframeÚcolÚintsZuintscCsL| |›d|›¡}t|dƒ}|D]$}d|j|<|j|}t |d¡q"dS)NÚ_Té)ÚgetfixturevaluerÚiatrÚtmÚassert_almost_equal©ÚselfrrÚrequestrÚindicesÚiÚexpectedr r rÚtest_iat_set_ints#s 
 
 
zTestScalar.test_iat_set_intsÚlabelsÚtsZfloatsc    CsN| |›d|›¡}d}tjt|dtt|dƒƒ}d|j|<W5QRXdS)Nrz1iAt based indexing can only have integer indexers©ÚmatchFr)rÚpytestÚraisesÚ
ValueErrorÚnextrr)r#rrr$rÚmsgÚidxr r rÚtest_iat_set_other-s
zTestScalar.test_iat_set_othercCsL| |›d|›¡}t|dƒ}|D]$}d|j|<|j|}t |d¡q"dS)NrFr)rrÚatÚlocr r!r"r r rÚtest_at_set_ints_other6s 
 
 
z!TestScalar.test_at_set_ints_otherN)    Ú__name__Ú
__module__Ú __qualname__r-ÚmarkÚ parametrizer(r3r6r r r rr"s  rc@sŽeZdZdd„Zdd„Zej deddgdd    e    dƒged
d gd d    e
d ƒgg¡d d„ƒZ dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS)Ú TestAtAndiATcCshtdddgdddgd}| ¡D]\}}|j||ks t‚q tt|ƒƒD]}|j||dksHt‚qHdS)Nréégš™™™™™¹?gš™™™™™É?g333333Ó?©Úindex)rÚitemsr4ÚAssertionErrorr
r r)r#ÚserÚelÚitemr&r r rÚtest_float_index_at_iatDs
z$TestAtAndiAT.test_float_index_at_iatcCs\tddd}ttj dd¡|ddddgd    }|d}|j|d
}|jd
}||ksXt‚dS) Nz1/1/2000é©ZperiodséÚAÚBÚCÚD)r@Úcolumnsé)rrÚnpÚrandomÚrandnr4rrB)r#ÚdatesÚdfÚsÚresultZxpr r rÚtest_at_iat_coercionKs   
z!TestAtAndiAT.test_at_iat_coercionz ser, expectedz
2014-01-01z
2014-02-02zdatetime64[ns]©Údtypez1 daysz2 daysztimedelta64[ns]cCs||ƒd}||kst‚dS)Nr)rB)r#Z indexer_ialrCr'rVr r rÚtest_iloc_iat_coercion_datelikeUs z,TestAtAndiAT.test_iloc_iat_coercion_datelikec    Csttdƒdddddgdd}|jd}|dks2t‚|jd}|dksHt‚d}tjt|d|jd    W5QRXd
}tjt|d|jd W5QRX|jddg}tddgddgdd }t     ||¡| 
¡}|jd}tdd gdd}t     ||¡|jd}|dkst‚dS)NrOrr=r>Úint64)r@rYz0index 10 is out of bounds for axis 0 with size 5r+é
z1index -10 is out of bounds for axis 0 with size 5iöÿÿÿrXr©r@Úname)r=r) rr
ÚilocrBrr-r.Ú
IndexErrorr Úassert_series_equalZto_frame)r#rUrVr1r'rTr r rÚtest_imethods_with_dupshs(
 
 
 
z$TestAtAndiAT.test_imethods_with_dupscCs’tj d¡ dd¡}t|ddgd}|jd}|jd}t ||¡|j    jd}t ||¡d|jd    <t
d
d
gddgd d }t |jd |¡dS) Nér>r=rJ©rN©rrJr)rJr)rrJg@rr]) rPrQrRZreshaperr4r_r raÚTr)r#ZarrrTrVr'r r rÚ!test_frame_at_with_duplicate_axes…s
 
 
z.TestAtAndiAT.test_frame_at_with_duplicate_axesc
Cs‚tddgtddddddƒtddd    d
d dƒgd œƒ}|d j d¡|d <tddd}|jd}||ksht‚|jd}||ks~t‚dS)NZJohnZAndersoniár>é é é8r=éé r\)r^Údatermz Asia/Shanghaiz2017-03-13 13:32:56+0800)Útz)rrm)rrÚdtZ tz_localizer5rBr4)r#rTr'rVr r rÚtest_at_getitem_dt64tz_values—sþþÿ     
 
z*TestAtAndiAT.test_at_getitem_dt64tz_valuesc    Csàtdddddgdddddgd    }| ¡D].\}}|j||j|krP|ks(nt‚q(tt|ƒƒD].}|j||j|krŒ|dksdnt‚qdt    j
t d
d |jdW5QRXt    j
t d
d |jdW5QRXdS) Nrr=r>rIrOÚaÚbÚcr?z^4$r+) rrAr4r5rBr
r rr_r-r.ÚKeyError)r#rUrDrEr&r r rÚ'test_mixed_index_at_iat_loc_iloc_series¬s (,z4TestAtAndiAT.test_mixed_index_at_iat_loc_iloc_seriesc    Cstdddddgdddd    d
ggd d d ddgd}| ¡D]H\}}| ¡D]6\}}|j||f|j||fkrv|ksFnt‚qFq6tdƒD]H}tdƒD]:}|j||f|j||fkrÈ|d|ks”nt‚q”qˆt    j
t dd|jdW5QRXt    j
t dd|jdW5QRXdS)Nrrr=r>rIrOrcérGé    rqrrrsrdz^3$r+)rr>) rZiterrowsrAr4r5rBr
rr_r-r.rt)r#rTZrowIdxÚrowrDrEr&r r rÚ*test_mixed_index_at_iat_loc_iloc_dataframe¹s ÿ2  :z7TestAtAndiAT.test_mixed_index_at_iat_loc_iloc_dataframecCsFtddgddgdœƒ}d|jd<tddgddgdœƒ}t ||¡dS)NrrrIrO)rqrr©rr)rrr Zassert_frame_equal)r#rVr'r r rÚ'test_iat_setter_incompatible_assignmentËs
z4TestAtAndiAT.test_iat_setter_incompatible_assignmentN)r7r8r9rFrWr-r:r;rrrrZrbrgrpruryr{r r r rr<As&
þþûþ
 r<cCstddd}||}t| ¡td}t| ¡td}t||dœƒ}|jtk ¡sTt‚|j    d|j
d|j d|j dfD]0}||dksŒt‚t |tƒsšt‚t |tƒrxt‚qx|j    d    |j
d
|j d    |j d
fD]0}||d ksât‚t |tƒsðt‚t |tƒrÎt‚qÎdS) Nz
2016-01-01r>rHrX)rJrKrerzr)rrK)rrr)rrZ to_pydatetimeÚobjectZto_pytimedeltarZdtypesÚallrBr4rr5r_Ú
isinstancerrrr)ZdtiZtdirCZser2rTrVr r rÚ&test_iat_dont_wrap_object_datetimelikeÓs ((rcCshtdddgiddgd}|jjdks(t‚|jddks:t‚|d}|jjdksRt‚|jddksdt‚dS)Nrqrr=©rr=©r>rIr?©r€rq©rr@ÚnlevelsrBr4©rTrr r rÚtest_at_with_tuple_index_getès r†cCs|tdddgiddgd}|jjdks(t‚d|jd<|jddksDt‚|d}|jjdks\t‚d|jd<|jddksxt‚dS)    Nrqrr=r€rr?r‚r>rƒr…r r rÚtest_at_with_tuple_index_setõs
 
r‡c@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestMultiIndexScalarcCs”tdddgiddgddggd}|jjdks0t‚|jddksBt‚|jddksTt‚|d}|jjdkslt‚|jddks~t‚|jddkst‚dS)    Nrqrr=r>rIr?©©rr>rqrŠ©rr@r„rBr4r5©r#rTrr r rÚtest_multiindex_at_gets z+TestMultiIndexScalar.test_multiindex_at_getcCs¼tdddgiddgddggd}|jjdks0t‚d|jd<|jddksLt‚d|jd<|jddksht‚|d}|jjdks€t‚d|jd    <|jd    dksœt‚d
|jd    <|jd    d
ks¸t‚dS) Nrqrr=r>rIr?r‰rOrŠrcr‹rŒr r rÚtest_multiindex_at_sets 
 
 
 
z+TestMultiIndexScalar.test_multiindex_at_setcCs,tdddggd}|jd}|dks(t‚dS)N)rrFTr?r)rr4rB)r#Ús2rVr r rÚ test_multiindex_at_get_one_level%s
z5TestMultiIndexScalar.test_multiindex_at_get_one_levelN)r7r8r9rrŽrr r r rrˆsrˆ)F)Ú__doc__rrrÚnumpyrPr-ZpandasrrrrrZpandas._testingZ_testingr rrr<rr†r‡rˆr r r rÚ<module>s