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
U
®ý°d3ã @sddlZddlZddlmZddlZddlmZmZm    Z    m
Z
ddl m Z dd„Zdd„Zej dejejfejejfejejfejejfejejfejejfg¡d    d
„ƒZd d „Zd d„Zdd„Zej deeejeg¡dd„ƒZej ddddgedddgƒdddgedƒej edƒgg¡dd„ƒZ!dd „Z"d!d"„Z#ej d#e$dd$ƒ¡ej d%d&d'd'd'd'gd&d'gd'gg¡ej d(d)ej%e &e'¡j(e &e'¡j)g¡ej d*d+d,„d-d,„d.d,„g¡d/d0„ƒƒƒƒZ*d1d2„Z+d3d4„Z,d5d6„Z-ej d7d8d9g¡d:d;„ƒZ.d<d=„Z/d>d?„Z0d@dA„Z1dBdC„Z2dDdE„Z3dS)FéN)Ú
is_integer)ÚSeriesÚ    TimestampÚ
date_rangeÚisnacCs\tt d¡|d}|dk}tddƒ||<tttddƒƒttddƒƒ|d}t ||¡dS©Né
©Údtypeééé©rÚnpÚarangeÚrangeÚlistÚtmÚassert_series_equal)Zany_signed_int_numpy_dtypeÚsÚmaskÚexpected©rú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/series/indexing/test_where.pyÚtest_where_unsafe_intsþrcCs`tt d¡|d}|dk}tddƒ||<ttddƒƒttddƒƒ}t||d}t ||¡dSrr)Zfloat_numpy_dtyperrÚdatarrrrÚtest_where_unsafe_floats  rzdtype,expected_dtypecCsZtt d¡|d}dddddg}|dk}t|ttddƒƒ|d}|||<t ||¡dS)    Nrr    ç@ç @ç@ç@g@r )rrrrrrr)r
Zexpected_dtyperÚvaluesrrrrrÚtest_where_unsafe_upcast(s r"c    Cs:tt d¡dd}ddddg}|dk}tttd    ƒƒ|d
d}|||<t ||¡tt d¡dd}|dk}td d ƒ||<tttd d ƒƒttddƒƒdd}t ||¡|j|jksºt‚tt d¡dd}|dk}d gd||<td dd dddgd gddd}t ||¡tt d¡ƒ}|dk}d}t    j
t |ddddd dg||<W5QRXt    j
t |dd gd||<W5QRXtdd ddgƒ}|  |d ktj ¡}ttj tj ddgƒ}t ||¡ttdƒƒ t¡}d|d<|d}t|ƒsðt‚ttdƒƒ t¡}d||dk<|t|ƒ}ttj dgd}t ||¡dS)NrÚint64r    rrrr r éÚfloat64r r réééúKcannot set using a list-like indexer with a different length than the value©Úmatchéé    ©Úindex)rrrrrrrr
ÚAssertionErrorÚpytestÚraisesÚ
ValueErrorÚwhereÚnanÚastypeÚfloatr)rr!rrÚmsgÚresultrrrÚtest_where_unsafe=sJ  $ "    r:cCsttj d¡ƒ}|dk}| |¡ ¡}||}t ||¡| || ¡}t || ¡¡| |¡}|j    |j    ksrt
‚||k    s~t
‚tdddddg|j d}| ¡ }||  |j dd…¡  |j ¡}| |dd…¡}t ||¡| ¡}|d|j d<| |dd…| ¡}t ||¡dS)Nr rTFr.r()rrÚrandomÚrandnr4ÚdropnarrÚabsÚshaper0r/ZreindexZiloc)rÚcondÚrsZrs2Ús2rrrrÚ
test_wherets& 
 
  rCc    Csttj d¡ƒ}|dk}d}tjt|d| d¡W5QRXtjt|d| |dd…j| ¡W5QRXtddgƒ}ddg|dd    g<tddgƒ}t     
||¡d
}tjt|ddddg|dd    g<W5QRXtjt|dg|dd    g<W5QRXdS) Nr rú,Array conditional must be same shape as selfr*r'r(r TFr)) rrr;r<r1r2r3r4r!rr)rr@r8rrrrÚtest_where_error‘s "   rEÚklasscCsFtdddgƒ}dddg}ttjddgƒ}| ||ƒ¡}t ||¡dS)Nr'r r(FT)rrr5r4rr)rFrr@rr9rrrÚtest_where_array_likeªs
 
rGr@r'r r r ÚTrueÚFalsez
2017-01-01z
2017-01-02c    Csdtdddgƒ}d}tjt|d| |¡W5QRXd}tjt|d| dg¡W5QRXdS)Nr'r r(z(Boolean array expected for the conditionr*rDT)rr1r2r3r4)r@rr8rrrÚtest_where_invalid_inputµs rJc    CsÎd}tdddgƒ}dg}tjt|d| |¡W5QRXtdtjtjgƒ}| t|ƒ¡}t ||¡t     ddddg¡}tjt|d| |¡W5QRXttjdtjgƒ}| t|ƒ¡}t ||¡dS)NrDr'r r(Tr*F)
rr1r2r3r4rr5rrÚarray)r8rr@rÚoutrrrÚtest_where_ndframe_alignËs rMc    Cs2dd„}ttdƒƒ}tjt|dƒdttdƒƒ|dd…<W5QRXttdƒƒ|dd…<tdd    d
gƒ}t | t    j
¡|¡ttd ƒƒ}tjt|dƒdttdƒƒ|dd d
…<W5QRXttd ƒƒ}ttd
ƒƒ|dd d
…<tdd d    dddgƒ}t ||¡ttd ƒƒ}tjt|dƒdttdƒƒ|dd…<W5QRXttd
ƒƒ|dd…<tdd ddd    dgƒ}t ||¡ttdƒƒ}tjt|dƒdttdƒƒ|dd    d
g<W5QRXttdƒƒ}tjt|dƒdttd
ƒƒ|dd    d
g<W5QRXttdƒƒ}ttdƒƒ|d<tttdƒƒd dgƒ}t ||¡dS)NcSs d|›dS)Nzcannot set using a z/ indexer with a different length than the valuer©ÚxrrrÚ<lambda>çóz,test_where_setitem_invalid.<locals>.<lambda>ÚabcÚslicer*érr(r'r Zabcdefr&ÚbÚdÚeÚféÿÿÿÿéýÿÿÿÚaÚcz    list-liker) rrr1r2r3rrrr6rr#)r8rrrrrÚtest_where_setitem_invalidâs>ÿ            r]Úsizer$rTFÚitemg@ÚboxcCs t |g¡S©N)rrKrNrrrrP%rQrPcCs|gSrarrNrrrrP%rQcCs|fSrarrNrrrrP%rQcs t ||¡}tj|td‰t‡‡fdd„t|ƒDƒƒ}tˆƒ}ˆ||<t ||¡tˆƒ}| ||ˆƒ¡}t ||¡tˆƒ}|     ||ˆƒ¡}t ||¡dS)Nr    cs g|]\}}|rˆnˆ|‘qSrr)Ú.0ÚiZuse_item©rr_rrÚ
<listcomp>0sz"test_broadcast.<locals>.<listcomp>)
rÚresizerr7rÚ    enumeraterrr4r)r^rr_r`Z    selectionrrr9rrdrÚtest_broadcasts ÿ  rhcCsˆttj d¡ƒ}|dk}| ¡}|j|ddt | ¡||¡t || |¡¡| ¡}|j|| ddt || || ¡¡dS)Nr rT)Zinplace)    rrr;r<Úcopyr4rrr=)rr@rArrrÚtest_where_inplaceAsrjcCsôtttdƒƒƒ}tttdƒƒƒ}t ||g¡}| |dk¡}tddtjddtjgddddddgd}t     ||¡d||dk<tddddddgddddddgd}t     ||¡||dkd7<tddddddgddddddgd}t     ||¡dS)    Nr(r rr'r.r ré )
rrrÚpdÚconcatr4rr5rr)Ús1rBÚcombr9rrrrÚtest_where_dupsPs(  $ $rpcCsNtdddgƒ}| |dkd¡}t|dƒr.t‚t|dƒs>t‚t|dƒsNt‚t|dtƒs`t‚|jdksnt‚| |dkdddg¡}t|dƒr”t‚t|dƒs¤t‚t|dƒs´t‚t|dtƒsÆt‚|jdksÔt‚| |dkt dddg¡¡}t|dƒrt‚t|dƒst‚t|dƒs&t‚t|dtƒs:t‚|jdksJt‚dS)    Nr'r r(ÚXrÚobjectÚYÚZ)    rr4rr0Ú
isinstanceÚstrr
rrK)rÚwrrrÚtest_where_numeric_with_stringes&rxr
ztimedelta64[ns]zdatetime64[ns]cCsÄtddg|d}tddgƒ}t ddg¡}| |ddg¡}t ||¡| |d¡}t ||¡| |d¡}t ||¡| |ddg¡}t ||¡| |dtjg¡}tddgdd}t ||¡dS)Nr'r r    rFg$@rr)rrrKr4rrr5)r
ÚserrrrArrrÚtest_where_datetimelike_coerces       rzcCsVddg}tdd„|Dƒdd}| tddgƒ¡}ttj|d    gdd}t ||¡dS)
Nz2016-12-31 12:00:04+00:00z 2016-12-31 12:00:04.010000+00:00cSsg|] }t|ƒ‘qSr)r)rbÚtrrrre™sz)test_where_datetimetz.<locals>.<listcomp>zdatetime64[ns, UTC]r    FTr')rr4rlÚNaTrr)Z
timestampsryrArrrrÚtest_where_datetimetz–s
r}cCsHttj ddg¡ƒ}| |dkd¡}ttj ddg¡ƒ}t ||¡dS)Nr'r r)rrlZarraysZ SparseArrayr4rr)ryr9rrrrÚtest_where_sparseŸsr~cCs&tgtd}| g¡}t ||¡dS)Nr    )rr7r4rr)ryr9rrrÚ=test_where_empty_series_and_empty_cond_having_non_bool_dtypes§s 
rcCs\|tjddddtjgdddgddd}|dddddgdd}| |dk¡}t ||¡dS)NÚAÚBÚC)Ú
categoriesÚcategoryr    )rlÚ Categoricalrr5r4rZ assert_equal)Zframe_or_seriesÚexpZdfÚresrrrÚtest_where_categorical®sþrˆcCsê|}tdd|d d¡}t |d|dtjg¡}t |dtj|dg¡}t dddg¡}| ||¡}t     
||¡|j   ||¡}t      ||j ¡t|ƒ ||¡}t     |t|ƒ¡t |¡ |dd…dft |¡¡}t     |t |¡¡dS)    Nz
2001-01-01r()ZperiodsÚtzrr'r TF)rZ
_with_freqrlZ DatetimeIndexr|r…rrKr4rZassert_index_equalÚ_dataZ_whereZassert_datetime_array_equalrrZ    DataFrameZassert_frame_equal)Ztz_naive_fixturer‰ZdrZlvalsZrvalsrr‡rrrÚ#test_where_datetimelike_categorical¹s  $r‹)4Únumpyrr1Zpandas.core.dtypes.commonrZpandasrlrrrrZpandas._testingZ_testingrrrÚmarkZ parametrizeZint8r%Úint16Úint32r#Úfloat32r"r:rCrErÚtuplerKrGr|rJrMr]rr5Zfinfor7ÚmaxÚminrhrjrprxrzr}r~rrˆr‹rrrrÚ<module>st    
 
 
 
 
 
úþ
 
7
 
 üþ    
9ÿÿÿ