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
U
­ý°dã @snddlmZddlmZddlZddlZddlmZddlZ    ddlm
Z
m Z m Z m Z mZmZmZmZddlmZddlmZejddd    d
gd d d „ƒZdd„ZGdd„dƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z dd„Z!ej" #d d!d"g¡d#d$„ƒZ$d%d&„Z%eed'd(d)„ƒZ&d*d+„Z'd,d-„Z(d.d/„Z)d0d1„Z*ej" #d2d3d!d4ded5d6d7ƒg¡d8d9„ƒZ+d:d;„Z,dS)<é)Údatetime)ÚgivenN)Ú    is_scalar)Ú    DataFrameÚ DatetimeIndexÚIndexÚSeriesÚ StringDtypeÚ    TimestampÚ
date_rangeÚisna)ÚOPTIONAL_ONE_OF_ALLÚdefaultÚ float_stringÚ mixed_floatÚ    mixed_int)ÚparamscCsT|jdkr&ttj dd¡dddgdS|jdkr4|S|jd    krB|S|jd
krP|SdS) NrééÚAÚBÚC©Úcolumnsrrr)ÚparamrÚnpÚrandomÚrandn)ÚrequestÚfloat_string_frameZmixed_float_frameZmixed_int_frame©r ú]d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/indexing/test_where.pyÚ where_frames
 
 
 
r"cs&dd„‰tt‡fdd„| ¡DƒƒƒS)NcSs t|jjtjtjfƒo|jdkS)NZuint8)Ú
issubclassÚdtypeÚtyperÚintegerZfloating)Úsr r r!Úis_ok&sÿz_safe_add.<locals>.is_okc3s.|]&\}}ˆ|ƒr||dfn||fVqdS)éNr )Ú.0Úcr'©r(r r!Ú    <genexpr>+sz_safe_add.<locals>.<genexpr>)rÚdictÚitems©Údfr r,r!Ú    _safe_add$sr2c @s8eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
  d e e ejg¡dd„ƒZe    j
  ddgdgdggedgdgdggƒeddddgiƒdgdgdggedƒgejgedƒggg¡dd„ƒZe    j
  dddgddgddggeddgddgddggƒddgddgddggedddgdddgd œƒejedƒgedƒejged!ƒed!ƒggg¡d"d#„ƒZd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Z d6d7„Z!d8d9„Z"d:d;„Z#d<d=„Z$d>d?„Z%d@dA„Z&dBdC„Z'e    j
  dDidEdFig¡dGdH„ƒZ(dIdJ„Z)dKdL„Z*dMdN„Z+dOdP„Z,e    j
  dQdRdSdTdUg¡dVdW„ƒZ-dFS)XÚTestDataFrameIndexingWherec    CsVddd„}|}||kr@d}tjt|d|dkW5QRXdS|dk}|||ƒdS)NTc    Sst|ƒ}| ||¡}| |j|¡}| ¡D]<\}}tt ||||||¡|jd}tj||ddq*t     ||¡|rŒ|j
|j
k  ¡sŒt ‚dS)N©ÚindexF)Z check_names) r2ÚwhereÚvaluesr/rrr5ÚtmÚassert_series_equalÚassert_frame_equalÚdtypesÚallÚAssertionError)    r1ÚcondÚ check_dtypesÚother1ÚrsZrs2ÚkÚvÚexpr r r!Ú
_check_get0s $ z=TestDataFrameIndexingWhere.test_where_get.<locals>._check_getú6'>' not supported between instances of 'str' and 'int'©Úmatchr)T©ÚpytestÚraisesÚ    TypeError)Úselfr"rrEr1Úmsgr>r r r!Útest_where_get/s
z)TestDataFrameIndexingWhere.test_where_getcCsntdd„dDƒƒ}d|jddd…f<|j}tt d¡t d¡t d¡t d    ¡gdddd    gd
}t ||¡dS) NcSs i|]}|tdgd|d“qS)r)r©r$)r)r*r+r r r!Ú
<dictcomp>JsÿzCTestDataFrameIndexingWhere.test_where_upcasting.<locals>.<dictcomp>)Úfloat32Úfloat64Úint32Úint64rr)rRrSrTrUr4)rÚilocr;rrr$r8r9©rMr1ÚresultÚexpectedr r r!Útest_where_upcastingGs þÿü
ùz/TestDataFrameIndexingWhere.test_where_upcastingc    Cs¬d dd„}|}||kr@d}tjt|d|dkW5QRXdS|dkdd…}|||t|ƒƒ|dk}|||t|ƒjƒ|dk}tdd    „|jDƒƒ}|||tj|d
dS) NTc Ssò| ||¡}t|jƒD]²\}}||}||j}|| ||j¡ d¡j}    t|ƒrZ|}
n4t|t    j
ƒr„t |dd…|f|jdj}
n
||j}
|      ¡rš|n t     |    ||
¡} t | |j|d} t j|| ddq|rît|t    j
ƒsî|j|jk  ¡sît‚dS)NFr4)r5Úname)Z check_dtype)r6Ú    enumeraterr7Úreindexr5ÚfillnarÚ
isinstancerZndarrayrr<r8r9r;r=) r1r>Úotherr?rAÚirBrXÚdr+ÚoZ
new_valuesrYr r r!Ú _check_aligncs 
 
zETestDataFrameIndexingWhere.test_where_alignment.<locals>._check_alignrFrGrr)css|]}t|jtjƒ VqdS)N)r#r%rr&)r*r'r r r!r-szBTestDataFrameIndexingWhere.test_where_alignment.<locals>.<genexpr>)r?)T)    rJrKrLr2r7r<r;rÚnan)rMr"rrdr1rNr>r?r r r!Útest_where_alignmentas
z/TestDataFrameIndexingWhere.test_where_alignmentc    Csþttj dd¡dddgd}|dk}|djdd    …dd…f}d
}tjt|d | ||¡W5QRX|j    dd    …dd…fj}t
|ƒ}d }tjt|d | ||¡W5QRXtjt|d |  d ¡W5QRXtjt|d |  d¡W5QRXdS)Nrrrrrrrr)éz4other must be the same shape as self when an ndarrayrGú,Array conditional must be same shape as selfT) rrrrr7rJrKÚ
ValueErrorr6rVr2Úmask)rMr1r>Zerr1rNZerr2r@r r r!Útest_where_invalid“sz-TestDataFrameIndexingWhere.test_where_invalidc    Cs‚ddd„}|}||kr@d}tjt|d|dkW5QRXdS|dk}|||ƒ|dk}|||ƒ|dkdd…}|||ƒdS)    NTc    Ss | ¡}| |¡ d¡}| |¡}|j|tjdd}|dksBt‚t     ||¡|rœ|j
  ¡D]>\}}t |j tjƒrˆ|| ¡sˆt d¡}||j|ks\t‚q\dS)NT©ÚinplacerS)ÚcopyZ reindex_liker^rjr6rrer=r8r:r;r/r#r%r&r<r$)    r1r>r?ZdfiZecondrYÚ return_valuerBrCr r r!Ú
_check_set«s   
z=TestDataFrameIndexingWhere.test_where_set.<locals>._check_setrFrGrr))TrI)rMr"rrpr1rNr>r r r!Útest_where_set¨s
 
 
z)TestDataFrameIndexingWhere.test_where_setcCsRttdƒtddƒdœƒ}| |ddk¡}||ddk |j¡}t ||¡dS)Nréé©ÚaÚbrur))rÚranger6r]r5r8r:rWr r r!Útest_where_series_slicingÌsz4TestDataFrameIndexingWhere.test_where_series_slicingÚklasscCsœtddddgiƒ}dgdgdgg}tdtjddgiƒ}| ||ƒ¡}t ||¡d|d<dtjdg|d<ddgddgddgg}| ||ƒ¡}t ||¡dS)Nrur)rgrFTrv)rrrer6r8r:)rMryr1r>rYrXr r r!Útest_where_array_likeÔs z0TestDataFrameIndexingWhere.test_where_array_liker>r)rrgrrsruÚTrueÚFalsez
2017-01-01z
2017-01-02c    Cs>tddddgiƒ}d}tjt|d| |¡W5QRXdS)Nrur)rgrú(Boolean array expected for the conditionrG©rrJrKrir6©rMr>r1rNr r r!Útest_where_invalid_input_singleås z:TestDataFrameIndexingWhere.test_where_invalid_input_singlerréé    rtz
2017-01-03c    CsFtdddgdddgdœƒ}d}tjt|d| |¡W5QRXdS)Nr)rgrrtr}rGr~rr r r!Ú!test_where_invalid_input_multiple÷sz<TestDataFrameIndexingWhere.test_where_invalid_input_multiplecCsžtdddgdddggƒ}tdddgdddggƒ}| |¡}td    tjdgtjtjdggƒ}t ||¡d
d d g|_| |¡}ttj|j|jd }t ||¡dS)Nr)rgrrrréTFçð?rurvr+©r5r)rr6rrer8r:rr5)rMr1r>rXrYr r r!Útest_where_dataframe_col_match s
 
z9TestDataFrameIndexingWhere.test_where_dataframe_col_matchc    Csðd}tdddgdddggƒ}dg}tjt|d    | |¡W5QRXtdddgtjtjtjggƒ}| t|ƒ¡}t     ||¡t 
d
dd
dg¡}tjt|d    | |¡W5QRXttjtjtjgdddggƒ}| t|ƒ¡}t     ||¡dS) Nrhr)rgrrrrr„TrGF) rrJrKrir6rrerr8r:Úarray)rMrNr1r>rYÚoutr r r!Útest_where_ndframe_aligns z3TestDataFrameIndexingWhere.test_where_ndframe_aligncCs¤tddddgddddgdœdd}ttjtjddgddtjtjgdœdd}| |dktj¡}t ||¡| ¡}|j|dktjd    d
}|dks”t‚t ||¡dS) Nr…ç@ç@ç@rtrSrPrgTrl)rrrer6r8r:rnr=)rMr1rYrXror r r!Útest_where_bug1sÿ þ  z)TestDataFrameIndexingWhere.test_where_bugcCs´ttjddddg|dtjdddd    gd
dd œƒ}ttjtjddgddtjtjgd œd
d}| |dktj¡}t ||¡| ¡}|j|dktjd d }|dks¤t‚t ||¡dS)Nr)rgrrrrPrrŒr‹r…rSrtTrl)    rrrˆrer6r8r:rnr=)rMZany_signed_int_numpy_dtyper1rYrXror r r!Útest_where_bug_mixedBsþÿ þ  z/TestDataFrameIndexingWhere.test_where_bug_mixedcCsètddgddgddgdœƒ}ttjdgd    tjgtjtjgdœƒ}| ¡||kB}| ¡}|||<| ||¡}t ||¡tddgdd
gd œƒ}ttjdgdtjgd œƒ}| ¡||kB}| ¡}|||<| ||¡}t ||¡dS) Nr)rgrrrrr„)rr)rgrr‚r©rr))rrrer rnr6r8r:)rMrurvZdo_not_replacerYrXr r r!Útest_where_bug_transpositionXs$
 
 z7TestDataFrameIndexingWhere.test_where_bug_transpositionc    Cs¸ttdddtdddtj d¡dœƒ}tdddƒ}d    }tjt|d
||kW5QRX||j    dd…dd …f|k}| 
¡}tj |j d dgd f<tj |j dd…df<t  ||¡dS)NZ20130102r©ÚperiodsZ20130104©rrriÝr)rzF'>' not supported between instances of 'float' and 'datetime.datetime'rGéÿÿÿÿrrr)rr rrrrrJrKrLrVrnreÚlocr8r:)rMr1ZstamprNrXrYr r r!Útest_where_datetimens
 
 
ýÿ z.TestDataFrameIndexingWhere.test_where_datetimec Cs´tdttdƒƒiƒ t¡}d||dk<tdtdddddd    d
dtjtjg
ƒiƒ}t ||¡tdtjd d œtjd tjd œgƒ}d }t    j
t |d|j t |ƒdddW5QRXdS)NZseriesé
rsrr)rgrrrrr„ZTestr”zboolean setting on mixed-typerGTrl)rrrwÚastypeÚfloatrrer8r:rJrKrLr6r )rMr1rYrNr r r!Útest_where_none…s "ÿ  þÿz*TestDataFrameIndexingWhere.test_where_nonecCs<tdgd}|}|jtk ¡s"t‚| |¡}t ||¡dS)Nrur)rr;Úobjectr<r=r6r8r:)rMr1r>rXr r r!Ú9test_where_empty_df_and_empty_cond_having_non_bool_dtypes›s
 
zTTestDataFrameIndexingWhere.test_where_empty_df_and_empty_cond_having_non_bool_dtypescCs dd„}|ƒ}| | ¡¡}|jt |¡| ¡dd}t ||¡|jt |¡| ¡ddd}|dksjt‚t ||¡|ƒ d¡}|jdd    „|dd
}|j|dk|dd d}t ||¡|j|dk|dd d}t ||¡|ƒ}| d ¡}| t |¡t    d |j
|j d¡}t ||¡dS)NcSsRttj dd¡ƒ}tj|jdd…df<tj|jdd…df<tj|jdd…d    f<|S)
Nr˜rrrrrr„r)rrg)rrrrrerVr0r r r!Úcreate¥s
z;TestDataFrameIndexingWhere.test_where_align.<locals>.creater©ÚaxisT©rmr rcSs| |dk|¡S©Nr)r6)ÚxÚyr r r!Ú<lambda>·óz=TestDataFrameIndexingWhere.test_where_align.<locals>.<lambda>©r¤r5Úrowsr)r†) r^Zmeanr6ÚpdÚnotnar8r:r=Úapplyrr5r)rMržr1rYrXror r r!Útest_where_align¤s*      
ÿz+TestDataFrameIndexingWhere.test_where_aligncCs\tddgtjdggddgd}tddgddggddgd}tj|| ¡dk<t ||¡dS)    Nyð?ð?rgy@ð?rurvry@ð?r)rrreÚabsr8r:)rMrYr1r r r!Útest_where_complexÅsz-TestDataFrameIndexingWhere.test_where_complexcCsttj dd¡ƒ}tddgddggƒ}tddgƒ}tddgddggdd}|j||dd}t ||¡| ¡}|j||dd    d
}|dksŒt    ‚t ||¡tddgddggdd}|j||d d}t ||¡| ¡}|j||d d    d
}|dksòt    ‚t ||¡dS) NrgFrr)rSrPr5rŸT©r rmr)
rrrrrr6r8r:rnr=©rMr1rjÚserrYrXror r r!Útest_where_axisÌs"      z*TestDataFrameIndexingWhere.test_where_axiscCs>tddgddggdd}tddgddggƒ}tdtjgƒ}tddgtjtjggd    d}|j||d
d }t ||¡| ¡}|j||d
d d }|dks˜t‚t ||¡tdtjgdtjggƒ}|j||dd }t ||¡ttj    ddgddtj    tjtjgd    ddœƒ}| ¡}|j||dd d }|dks.t‚t ||¡dS)Nr)rgrrrrUrPFrrSr5rŸTr¯rr)
rrrrer6r8r:rnr=rˆr°r r r!Útest_where_axis_with_upcastäs,    þÿz6TestDataFrameIndexingWhere.test_where_axis_with_upcastc
Cs
tjttj dd¡ƒttjjddddddgdd    d
}td |j|jd }t    d    |jd }t    d|jd }|j
||dd}td|j|jd }|d  d¡|d<|d  d¡|d<t   ||¡| ¡}|j
||ddd}|dksÞt‚t   ||¡|j
||dd}td|j|jd }|d  d¡|d<|d  d¡|d<t   ||¡| ¡}|j
||ddd}|dksdt‚t   ||¡| ¡jd    dd}| ¡  d¡}tj|jd    dd…f<| 
||¡}t   ||¡|j
||dd}t   ||¡| ¡}|j
||dd}|dksþt‚t   ||¡| ¡}|j
||ddd}|dks2t‚t   ||¡| ¡jd    d    d}    | ¡}tj|jdd…d    f<| 
||    ¡}t   ||¡|j
||    dd}t   ||¡| ¡}|j
||    dd}|dksÆt‚t   ||¡| ¡}|j
||    ddd}|dksút‚t   ||¡dS)Nr˜rgr)r˜rg)ÚsizerUrPTr))Z ignore_indexr F)rr5r4rrŸr…rr¯r5r‹ršrlr¡)r©ÚconcatrrrrÚrandintrr5rr6r™r8r:rnr=Zdroprer–)
rMr1rjÚs1Ús2rXrYroÚd1Zd2r r r!Útest_where_axis_multiple_dtypesstþú              z:TestDataFrameIndexingWhere.test_where_axis_multiple_dtypescCsHtdddgdddgddd    ggƒ}| d
d „d d „¡}tdddgdddgddd    ggƒ}t ||¡t || |dk|d¡¡| d d „dd „¡}tdddgdddgdddggƒ}t ||¡t || |ddkd¡¡|d dd „dd „¡}tdddgdddgd    ddggƒ}t ||¡t ||d |ddk|dd¡¡dS)Nr)rgrrrrr„rsrr‚cSs|dkS)Nrrr ©r£r r r!r¥Mr¦z@TestDataFrameIndexingWhere.test_where_callable.<locals>.<lambda>cSs|dS©Nr)r r»r r r!r¥Mr¦cSs|ddkjS)Nrgr)r7r»r r r!r¥Sr¦cSsdS)Nécr r»r r r!r¥Sr¦r½rcSs|dkS)Nrr r»r r r!r¥Yr¦cSs|dS)Nr˜r r»r r r!r¥Yr¦é ééééér˜é )rr6r8r:)rMr1rXrDr r r!Útest_where_callableJs       z.TestDataFrameIndexingWhere.test_where_callablecCs¬ttdddg|ddgd}ttdddg|ddgd}td    d    d
gdgd}ttdddg|ddgd}|tkr|d}|d}|d}|d}| ||¡}t ||¡dS) NZ20150101Z20150102Z20150103)ÚtzÚdaterZ20150104Z20150105TF)rrrr6r8Ú assert_equal)rMZtz_naive_fixtureÚframe_or_seriesZobj1Úobj2rjrDrXr r r!Útest_where_tz_values^s(þþþ z/TestDataFrameIndexingWhere.test_where_tz_valuescCsztt d¡ dd¡tdƒd}t dddgdddgg¡}| |¡}tdtjtjgtjtjd    ggtdƒd}t     ||¡dS)
Nr„rgrÚABCrTFrr)
rrÚarangeÚreshapeÚlistrˆr6rer8r:)rMr1rjrXrYr r r!Útest_df_where_change_dtypeus
ÿz5TestDataFrameIndexingWhere.test_df_where_change_dtypeÚkwargsr`Nc
Cstjdtjd dd¡}t|tdƒd}t dddgdddgg¡}|j d    ¡|_|j     d    ¡|_    |j
 d    ¡|_
|j |f|Ž}t j d
tjgd
dgd }t j tjtjgd d gd }t j tjdgddgd }t|||dœƒ}    t ||    ¡|jj |dd…d
ff|Ž}t|dd}    t ||    ¡dS)Nr„rPrgrrÌrTFÚcategoryr)Ú
categoriesr)rrrr”r)r[)rrÍrUrÎrrÏrˆrr™rrr6r©Z Categoricalrer8r:rr9)
rMrÑÚdatar1rjrXrrrrYr r r!Útest_df_where_with_categorys  z6TestDataFrameIndexingWhere.test_df_where_with_categorycCsvtddgddggddgd}|d d¡|d<| |ddk¡}| ¡ ddi¡}tj|jddd…f<t ||¡dS)Nrr)rurv©rÔrrÒrš)    rr™r6rnrrer–r8rÈrWr r r!Ú test_where_categorical_filtering›s z;TestDataFrameIndexingWhere.test_where_categorical_filteringcCsútdddgdddgdœƒ}t dtjd    g¡}t|ƒ}tj|jtd
}d |ddd…f<|j    ||d d }tdtjdgdtjdgdœƒ 
t ¡}t   ||¡t|dd…ddgd}tdddgdtjdgdœƒ}|d 
t ¡|d<|j    ||dd }t   ||¡dS)Nr)rgrrrrr„©rrrsr‚rPFrrŸrrr4)rr©rˆÚNArrZonesÚshapeÚboolr6r™rœr8r:)rMr1Úarrr±rjrXrYZser2r r r!Útest_where_ea_other§s$ z.TestDataFrameIndexingWhere.test_where_ea_othercCsRtt dd¡gƒ}| | ¡¡}t ||¡|d}| | ¡¡}t ||¡dSr¢)rr©ÚIntervalr6rªr8r:r9)rMr1Úresr±r r r!Útest_where_interval_noopºs  z3TestDataFrameIndexingWhere.test_where_interval_noopcCsr|t dd¡gdƒ}|ddgƒ}| | ¡|¡}t || tj¡¡|j    | ¡|ddt || t
¡¡dS)Nrrgr…r‹Trl) r©rÞr6rªr8rÈr™rrUrjrœ)rMrÉÚobjr`rßr r r!Ú#test_where_interval_fullop_downcastÄs  z>TestDataFrameIndexingWhere.test_where_interval_fullop_downcastr$ztimedelta64[ns]zdatetime64[ns]zdatetime64[ns, Asia/Tokyo]z    Period[D]c Csøtt d¡dtjd |¡}| ¡}t dddg¡}| |d¡}t     ||¡| 
dd¡}| |d¡}t  ||¡|  |d¡}t     ||¡|  |d¡}    t  |    |¡| |d¡}
t d|j|jd    } t  |
| ¡|j |dd
d t  ||  t¡¡dS) Nriʚ;rPFZfoor•r)rrr†Trl)rrrÍrUÚviewZto_framerˆr6r8r9rÎr:rjrr5rr™rœ) rMr$r±r1rjrßZmask2Zres2Zres3Zres4Zres5rYr r r!Útest_where_datetimelike_noopÒs"          z7TestDataFrameIndexingWhere.test_where_datetimelike_noop).Ú__name__Ú
__module__Ú __qualname__rOrZrfrkrqrxrJÚmarkÚ parametrizerÏÚtuplerrˆrzrrr
r©ÚNaTr€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!r3.s|2$
ûþ
 
  ýûþ
    !H 
 
üþ    r3cCsŠt d¡ tj¡ dd¡}t|ƒ}tj|jtd}d|dd…df<|     |d¡}t|dd…dftj
dgdtj ddœƒ}t   ||¡dS)    Nr„rrgrPTrir)rrÍr™Úint16rÎrÚzerosrÚrÛr6rˆrTr8r:)rÜr1rjrßrYr r r!Ú%test_where_int_downcasting_deprecatedûs ,rîcCs~|ddddgƒ}| ¡}|tkr(|dn|}| |dk¡}|d9}t ||¡| |dkddddg¡}|d9}t ||¡dS)Nr)rgrrrrr)rnrr6r8rÈ)rÉrXrYÚcolZ    where_resr r r!Útest_where_copies_with_noop    s rðcCsÀ|ddddgddddgtƒd    }|ddgddgtƒd    }td
d d d
gƒ}| ||¡}|tjddtjgddddgtƒd    }t ||¡| ||¡}t ||¡|j||d d t ||¡dS) Nrurvr+rbZid1Zid2Zid3Zid4)r5r$FTrl)r    rr6r©rÙr8rÈrj)rÉráZ filtered_objZ
filter_serrXrYr r r!Útest_where_string_dtypes,
 
ÿÿ 
ý  rñcCsvtdgddgdddddgdœƒ}| |dk¡}ttjtjgdtddgdtjdtjdgdœƒ}t ||¡dS)NTrrF)ZAAAZBBBZCCCrP)rr6rrˆrerœr8r:)Zdf_maskrXrYr r r!Útest_where_bool_comparison3sÿýÿròcCsFttdƒtjtdƒgddtjgdœƒ}| | ¡d¡}t     ||¡dS)NZ20130101Z20130103r)rgrØ)
rr
r©rërrer6Únotnullr8r:)rYrXr r r!Útest_where_none_nan_coerceCs
þÿrôcCsÀtdtjggtddgƒd}|j\}}tddgg||d}| t¡ |¡}| d¡ |¡}|j |j¡j}| |¡}t     
| d¡| d¡¡t     
| d¡| d¡¡t     
| d¡| d¡¡dS)NrrrÖT)rÔrr5Zf8) rrrerZaxesr™rœr6ÚTr8r:)rXr5rrjrurvr+rbr r r!Ú&test_where_duplicate_axes_mixed_dtypesOs
 
röcCsBtddgdtjgdœƒ}| ¡}| t |¡d¡}t ||¡dS)Nr…r‹rrt)    rrrernr6r©rór8r:)r1rYrXr r r!Útest_where_columns_casting^sr÷Úas_catTFc
    CsHtjdddd}|r| d¡}||ƒ}tj d¡}tjdddg|jd    j}|rTd
}nd }|rÔt    j
t |d |  ||¡W5QRXt    j
t |d |  ||¡W5QRXt    j
t |d |j ||dd W5QRXnp| t¡  ||¡}|  ||¡}    t |    |¡| t¡  ||¡}|  ||¡}    t |    |¡|j ||dd t ||¡dS)Nú
2016-01-01rÚD)r“ÚfreqrÒúm8[ns]TF©ZndminzUCannot setitem on a Categorical with a new category \(NaT\), set the categories firstzvalue should be a 'Period'rGrl)r©Z period_ranger™rëZto_numpyrrˆÚndimrõrJrKrLr6rjrœr8rÈ)
rÉrørÚidxráZtdnatrjrNrYrXr r r!Útest_where_period_invalid_nahs2
 ÿ    rc
Csœtjdddg|d}||ƒ}tjdddg|jdj}d}tjtjgD]P}tj    t
|d    |  ||¡W5QRXtj    t
|d    |  ||¡W5QRXqFdS)
Nr)rgrrPTFrýz1Invalid value '.*' for dtype (U?Int|Float)\d{1,2}rG) r©rˆrrþrõr8ZNP_NAT_OBJECTSrërJrKrLr6rj)rÉZany_numeric_ea_dtyperÜrárjrNÚnullr r r!Útest_where_nullable_invalid_na–sr)rÔcCsHtd|iƒ}| t |¡d¡ ¡}|jt |¡dddt ||¡dS)NruTrl)rr6r©rórnr8rÈ)rÔr1Zdf_copyr r r!Útest_where_inplace_casting¨s rcCsXtdddgƒ}t dddg¡}tjdd}| ||¡}t|||gdd}t ||¡dS)Nr)rgrF)ÚdaysrürP)rrrˆr©Z    Timedeltar6r8r9)r±rjÚtdrßrYr r r!Útest_where_downcast_to_td64±s   rcCs~| ||¡}t ||¡| ||¡}t ||¡| ¡}|j||dd| ¡sn| ¡}|d t¡|d<t ||¡dS)NTrlr)r6r8r:rjrnr<r™rœ)r1rjr`rYrßr r r!Ú_check_where_equivalences½s   rcCsútddd}|j dd¡}||d}t|ddgd    }t | ¡¡ ¡}d
|dd…d f<t|dd…d f|dd…d fd œƒ}t||||ƒd
|d<ttj    |d|d|dgt
d|dd…d fd œƒ}t||||ƒd
|dd…<|}t||||ƒdS)Nrùr„r’rrg)rrrrrTr)rrØ)r)r)rgrrP) r Ú_datarÎrrZasarrayr rnrrˆrœ)ZdtiZdtar`r1rjrYr r r!Útest_where_dt64_2dÒs$  &þÿ r    cCsjttdtjdgdddddgdœƒ}| dd„¡}tttjtjdgddtjddgdœƒ}t ||¡dS)    Nr)rgZInt64rPrrtcSs|jdd„ddS)NcSs|dkSr¼r r§r r r!r¥ór¦zMtest_where_producing_ea_cond_for_np_dtype.<locals>.<lambda>.<locals>.<lambda>r)rŸ)r«r»r r r!r¥ór¦z;test_where_producing_ea_cond_for_np_dtype.<locals>.<lambda>)    rrr©rÙr6rrer8r:)r1rXrYr r r!Ú)test_where_producing_ea_cond_for_np_dtypeðs $"ÿr
Ú replacementgü©ñÒMbP?ZsnakeiærrrcCsTtdddgtjddggƒ}| t |¡|¡}tdddg|d|ggƒ}t ||¡dS)Nr…g‘(,*‹0EZninegš™™™™™¹?)rrrer6r©rór8r:)r r1rXrYr r r!Útest_where_int_overflowúsr cCsdtddgddgdœƒ}tddgddgdœƒ}|j|ddtdtjgtjdgdœƒ}t ||¡dS)    Nr)rgr£r¤rtTFrl)rr6rrer8r:)r1r>rYr r r!Útest_where_inplace_no_others
r )-rZ
hypothesisrÚnumpyrrJZpandas.core.dtypes.commonrZpandasr©rrrrr    r
r r Zpandas._testingZ_testingr8Zpandas._testing._hypothesisr Zfixturer"r2r3rîrðrñròrôrör÷rèrérrrrrr    r
r r r r r r!Ú<module>sN   (
 
 
R 
 
-
 
ÿ