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
U
­ý°dNUã@sddlmZddlZddlZddlZddlmZmZm    Z    ddl
m Z dd„Z dd„Zdd    „Zd
d „Zd d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Z d,d-„Z!d.d/„Z"d0d1„Z#d2d3„Z$d4d5„Z%d6d7„Z&dS)8é)Úascii_lowercaseN)Ú    DataFrameÚSeriesÚ    TimestampcCsÖtdddddddgƒ}tddddgdddd    gd
}tdddgd d dgd
}| d d„¡}| |¡}t | dd„¡|¡t | dd„¡|¡t |jdd„dd| |j¡¡t |jdd„dd| |j¡¡dS)Néééééééré©ÚindexéécSs|dS©Nr©©ÚxrrúXd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/test_filters.pyÚ<lambda>óz$test_filter_series.<locals>.<lambda>cSs | ¡dkS©Né
©ÚmeanrrrrrrcSs | ¡dkSrrrrrrrrcSs | ¡dkSrrrrrrrrF©ZdropnacSs | ¡dkSrrrrrrrr)rÚapplyÚgroupbyÚtmÚassert_series_equalÚfilterÚreindexr)ÚsÚ expected_oddÚ expected_evenÚgrouperÚgroupedrrrÚtest_filter_seriess
 
þ
þr)cCsÚtdddddddgƒ}tddddgdddd    gd
}tdddgd d dgd
}|d d d„¡}| |¡}t | dd„¡|¡t | dd„¡|¡t |jdd„dd| |j¡¡t |jdd„dd| |j¡¡dS)Nrrrr    r
r r rr rrrcSs|dSrrrrrrr&rz.test_filter_single_column_df.<locals>.<lambda>cSs | ¡dkSrrrrrrr(rcSs | ¡dkSrrrrrrr)rcSs | ¡dkSrrrrrrr,rFrcSs | ¡dkSrrrrrrr0r)rrrr Úassert_frame_equalr"r#r)Údfr%r&r'r(rrrÚtest_filter_single_column_df"s
 
þ
þr,cCsrtddddgddddgdœƒ}|d dd„¡}| |¡}tddgddgdœddgd}t | d    d„¡|¡dS)
Nré ©ÚAÚBr/cSs|dSrrrrrrr7rz-test_filter_multi_column_df.<locals>.<lambda>rrcSs|d ¡|d ¡dkS)Nr/r0r©Úsumrrrrr;r)rrrr r*r"©r+r'r(ÚexpectedrrrÚtest_filter_multi_column_df5s
 ÿr5cCsntddddgd ¡dœƒ}|d dd„¡}| |¡}tddgdd    gdœdd
gd }t | d d„¡|¡dS) Nrr-úa b c dr.r/cSs|dSrrrrrrrArz&test_filter_mixed_df.<locals>.<lambda>ÚbÚcrrcSs|d ¡dkS)Nr/rr1rrrrrDr)rÚsplitrrr r*r"r3rrrÚtest_filter_mixed_df?s
 
r:cCsžtdddddddgƒ}| dd    „¡}| |¡}t | d
d    „¡|g¡tdd d dgd  ¡d œƒ}|d dd    „¡}| |¡}t | dd    „¡|j    g¡dS)Nrrrr    r
r r cSs|dSrrrrrrrIrz,test_filter_out_all_groups.<locals>.<lambda>cSs | ¡dkS)NéèrrrrrrKrr-r6r.r/cSs|dSrrrrrrrMrcSs|d ¡dkS)Nr/r;r1rrrrrOr)
rrrr r!r"rr9r*Úloc)r$r'r(r+rrrÚtest_filter_out_all_groupsGs
 
r=cCsœtdddddddgƒ}| dd    „¡}| |¡}| d
d    „¡}t ||¡tdd d dgd  ¡d œƒ}|d dd    „¡}| |¡}| dd    „¡}t ||¡dS)Nrrrr    r
r r cSs|dSrrrrrrrTrz+test_filter_out_no_groups.<locals>.<lambda>cSs | ¡dkS©NrrrrrrrVrr-r6r.r/cSs|dSrrrrrrrYrcSs|d ¡dkS)Nr/rrrrrrr[r)    rrrr"r r!rr9r*)r$r'r(Úfilteredr+rrrÚtest_filter_out_no_groupsRs
 
r@cCs¸tdddgdddgdœƒ}| d¡}|jdd„dd    }ttjgd
tjgd
dœƒ}t ||¡tdddgdddgdœƒ}| d¡}|jd d„d d    }tggdœd d}t ||¡dS)Nrrr)Úar7rAcSs|d ¡dkS©Nr7r    r1rrrrrcrz2test_filter_out_all_groups_in_df.<locals>.<lambda>FrrcSs|d ¡dkSrBr1rrrrrirTÚint64©Údtype)rrr"ÚnpÚnanr r*)r+Úresr4rrrÚ test_filter_out_all_groups_in_df_s
 
rIc    Cs\dd„}tddddgƒ}| dd„¡}| |¡}d    }tjt|d
| |¡W5QRXdS) NcSs| ¡dkrt‚| ¡dkSr>)r2Ú
ValueErrorrrrrÚraise_if_sum_is_zeroos z:test_filter_condition_raises.<locals>.raise_if_sum_is_zeroéÿÿÿÿrrrcSs|dSrrrrrrrurz.test_filter_condition_raises.<locals>.<lambda>ú'the filter must return a boolean result©Úmatch)rrrÚpytestÚraisesÚ    TypeErrorr")rKr$r'r(ÚmsgrrrÚtest_filter_condition_raisesns
rTcCsrtj tdƒddgg¡}tt d¡ dd¡|dd}|jddd         d
d „¡}|j
dd…d d…f}t   ||¡dS) NrrrédrLrrC)ÚcolumnsrE)ÚlevelZaxiscSs|jddkS)N)rrr)Úilocrrrrr€rz2test_filter_with_axis_in_groupby.<locals>.<lambda>r-) ÚpdZ
MultiIndexZ from_productÚrangerrFÚarangeZreshaperr"rXr r*)rÚdataÚresultr4rrrÚ test_filter_with_axis_in_groupby|s
r^c    CsHtt d¡tdƒt d¡dœƒ}|d}| d¡}| |¡}dd„}d}tjt|d| |¡W5QRXd    }tjt|d| |¡W5QRXd
d„}d}tjt|d| |¡W5QRXd    }tjt|d| |¡W5QRXd d„}d }tjt|d| |¡W5QRXd    }tjt|d| |¡W5QRXdS) NéÚaabbbbcc©r/r0ÚCr0cSs|S©Nrrrrrr‹rz(test_filter_bad_shapes.<locals>.<lambda>z@filter function returned a DataFrame, but expected a scalar boolrNrMcSs|dkS©Nrrrrrrr“rcSs t ||¡Src)rFÚouterrrrrr›rz0can't multiply sequence by non-int of type 'str')    rrFr[ÚlistrrPrQrRr")r+r$Úg_dfÚg_sÚfrSrrrÚtest_filter_bad_shapes…s2 
 
rjcCsztt d¡tdƒt d¡dœƒ}|d}| |d¡}| |¡}dd„}t | |¡|jg¡t     | |¡|g¡dS)Nr_r`rar0cSstjSrc)rFrGrrrrrªrz*test_filter_nan_is_false.<locals>.<lambda>)
rrFr[rfrr r*r"r<r!)r+r$rgrhrirrrÚtest_filter_nan_is_false¤s 
rkcCs‚tt d¡tdƒt d¡dœƒ}|d}| |d¡}| |¡}dd„}| |¡}t ||jg¡| |¡}t     ||g¡dS)Nr_r`rar0cSstjSrc)rYZNArrrrr¶rz+test_filter_pdna_is_false.<locals>.<lambda>)
rrFr[rfrr"r r*r<r!)r+ÚserrgrhÚfuncrHrrrÚtest_filter_pdna_is_false¯s 
 
 
rnc    stj d¡ttj ddd¡ƒ}| dd„¡}| |¡}dd„}|| |¡ d¡}|     |¡}t
  |  ¡|  ¡¡dttj d¡ƒ}| dd„¡}| |¡}d    d„}|| |¡ d¡}|     |¡}t
  |  ¡|  ¡¡t  ttƒ¡}d‰| tj dd
ˆ¡¡}tttj ddˆ¡ƒˆd ttj ˆ¡ƒt|ƒd œƒ}| d ¡}||j ‡fdd„¡ d¡}|     ‡fdd„¡}t
 ||¡|j dd„¡}| |¡}||j ‡fdd„¡ d¡}|     ‡fdd„¡}t
 ||¡| d¡}||j ‡fdd„¡ d¡}|     ‡fdd„¡}t
 ||¡dS)NrrUr;cSs t |d¡S©NrL©rFÚroundrrrrrÁrz0test_filter_against_workaround.<locals>.<lambda>cSs | ¡dkSrrrrrrrÃrÚboolcSs t |d¡SrorprrrrrËrcSs | ¡dkSrrrrrrrÍrér)ÚintsÚfloatsÚlettersrtcs| ¡ˆdkS©Nrrr©ÚNrrràrcs|d ¡ˆdkS)NrurrrrxrrrárcSs t |d¡Srorprrrrrårcst|ƒˆdkSr©Úlenrrxrrrçrcst|jƒˆdkSr)r{rvrrxrrrèrrvcs| ¡ˆdkSrwrrrxrrrírcs|d ¡ˆdkS)Nrtrrrrxrrrîr)rFÚrandomÚseedrÚrandintrrÚ    transformZastyper"r r!Z sort_valuesÚarrayrfrÚtakerrur*rvrt)    r$r'r(riZold_wayZnew_wayrvZrandom_lettersr+rrxrÚtest_filter_against_workaround½sJ 
 
 
 
ýÿ    
 
 
r‚cCstt d¡tdƒt d¡dœƒ}| d¡}| dd„¡}tt dd¡td    ƒt dd¡dœtjddtjd
d }t ||¡| d d„¡}|j    g}t ||¡|d}| |¡}| d d„¡}t
ddgtjddtjd
dd}t  ||¡| dd„¡}|g}t  ||¡dS)Nr_r`rar0cSs t|ƒdkSrrzrrrrrörz'test_filter_using_len.<locals>.<lambda>rr ZbbbbrDrcSs t|ƒdkS©NrrzrrrrrýrcSs t|ƒdkSrrzrrrrrrrr7)rÚnamecSs t|ƒdkSrƒrzrrrrrr) rrFr[rfrr"rCr r*r<rr!)r+r(Úactualr4r$rrrÚtest_filter_using_lenòs& 
þ 
 
" r†c
CsÒtddddddddgddddddd    dgd
œƒ}|d }| d ¡}| d d„¡}|jddddg}t ||¡| |d ¡}| dd„¡}|jddddg}t ||¡t t    |ƒddd¡|_
|d }| d ¡}| dd„¡}|jddddg}t ||¡| |d ¡}| dd„¡}|jddddg}t ||¡ddddddddg}|j
||_
|d }| d ¡}| dd„¡}|jddddg}t ||¡| |d ¡}| dd„¡}|jddddg}t ||¡dS)Nrrréé-é>r é"é©ÚpidÚtagrrŽcSs t|ƒdkSrdrzrrrrrrz0test_filter_maintains_ordering.<locals>.<lambda>rr cSs t|ƒdkSrdrzrrrrrrrLcSs t|ƒdkSrdrzrrrrr!rcSs t|ƒdkSrdrzrrrrr&rr rr    cSs t|ƒdkSrdrzrrrrr/rcSs t|ƒdkSrdrzrrrrr4r) rrr"rXr r*r!rFr[r{r)r+r$r(r…r4ZSHUFFLEDrrrÚtest_filter_maintains_ordering sB(ÿ
 
 
 rcCsþttjddddddddgtdƒdœƒ}| dd    g¡}|d
 d d „¡}t |d
|¡|d
 t    ¡}t
d dd ddgd
d}t ||¡| dd „¡}t  ||¡| d¡}td
d dd ddgiƒ}t  ||¡| t    ¡}td
d dd ddgiƒ}t  ||¡dS)Nr    rCrDZfooÚbarZ20130101rar0rbr/cSsdS©NTrrrrrrErz0test_filter_multiple_timestamp.<locals>.<lambda>rr©r„cSsdSr‘rrrrrrLrr2r_) rrFr[rrr"r r!rr{rr*)r+r(r]r4rrrÚtest_filter_multiple_timestamp9s(  ýÿ  
 
r“c
Csˆddddddddg}tddddddddgdddddd    d
dgd œ|d }| d ¡}|d}| |d ¡}ddddg}| dd„¡}|j|}t ||¡|jdd„dd}| ¡}tj|jddddg<t ||¡| dd„¡}|     |¡}t 
||¡|jdd„dd}t tjddtjdtjtjdg|dd}t 
||¡|  t ¡}t ddddddddg|dd}t 
||¡|j  t ¡}t 
||¡dS)Nrrrrr‡rˆr‰r rŠr‹rŒrrŽrrr cSs t|ƒdkSrdrzrrrrrerzEtest_filter_and_transform_with_non_unique_int_index.<locals>.<lambda>cSs t|ƒdkSrdrzrrrrrirFrr    r cSs t|ƒdkSrdrzrrrrrorcSs t|ƒdkSrdrzrrrrrsrr’©rrr"rXr r*ÚcopyrFrGrr!rrr{r©rr+Ú
grouped_dfrlÚ grouped_serÚexpected_indexesr…r4rrrÚ3test_filter_and_transform_with_non_unique_int_indexXs6(þ
 
 
 & 
  ršc
Csˆddddddddg}tddddddddgdddddd    d
dgd œ|d }| d ¡}|d}| |d ¡}ddddg}| dd„¡}|j|}t ||¡|jdd„dd}| ¡}tj|jddddg<t ||¡| dd„¡}|     |¡}t 
||¡|jdd„dd}t tjddtjdtjtjdg|dd}t 
||¡|  t ¡}t ddddddddg|dd}t 
||¡|j  t ¡}t 
||¡dS)Nrrrrr‡rˆr‰r rŠr‹rŒrrŽrrr cSs t|ƒdkSrdrzrrrrrrzNtest_filter_and_transform_with_multiple_non_unique_int_index.<locals>.<lambda>cSs t|ƒdkSrdrzrrrrr“rFrr    r cSs t|ƒdkSrdrzrrrrr™rcSs t|ƒdkSrdrzrrrrrrr’r”r–rrrÚ<test_filter_and_transform_with_multiple_non_unique_int_index‚s6(þ
 
 
 & 
  r›c
Cs’tjddddddddgtd}tddddddddgdddd    dd
d dgd œ|d }| d¡}|d}| |d¡}ddddg}| dd„¡}|j|}t ||¡|jdd„dd}|     ¡}tj
|jddddg<t ||¡| dd„¡}|  |¡}t  ||¡|jdd„dd}t tj
ddtj
dtj
tj
dg|dd}t  ||¡| t¡}t ddddddddg|dd}t  ||¡|j t¡}t  ||¡dS)NrrrrDrr‡rˆr‰r rŠr‹rŒrrŽrrr cSs t|ƒdkSrdrzrrrrr¹rzGtest_filter_and_transform_with_non_unique_float_index.<locals>.<lambda>cSs t|ƒdkSrdrzrrrrr½rFrr    r cSs t|ƒdkSrdrzrrrrrÃrcSs t|ƒdkSrdrzrrrrrÇrr’)rFr€Úfloatrrr"rXr r*r•rGrr!rrr{rr–rrrÚ5test_filter_and_transform_with_non_unique_float_index¬s6(þ
 
 
 & 
  rc
Cs tdƒ}tdƒ}tdƒ}||||||||g}tddddddddgddd    d
dd d d    gd œ|d}| d¡}|d}| |d¡}ddddg}| dd„¡}    |j|}
t |    |
¡|jdd„dd}    | ¡}
tj    |
jddddg<t |    |
¡| dd„¡}    | 
|¡}
t  |    |
¡|jdd„dd}    t tj    ddtj    dtj    tj    dg|dd}
t  |    |
¡|  t¡}    t ddddddddg|dd}
t  |    |
¡|j  t¡}    t  |    |
¡dS)Nz2013-09-30 00:05:00z2013-10-30 00:05:00z2013-11-30 00:05:00rrrr‡rˆr‰r rŠr‹rŒrrŽrrr cSs t|ƒdkSrdrzrrrrrærzKtest_filter_and_transform_with_non_unique_timestamp_index.<locals>.<lambda>cSs t|ƒdkSrdrzrrrrrêrFrrr    r cSs t|ƒdkSrdrzrrrrrðrcSs t|ƒdkSrdrzrrrrrôrr’)rrrr"rXr r*r•rFrGrr!rrr{r) Út0Út1Út2rr+r—rlr˜r™r…r4rrrÚ9test_filter_and_transform_with_non_unique_timestamp_indexÖs<(þ
 
 
 & 
  r¡c
Cs|tdƒ}tddddddddgdddddd    d
dgd œ|d }| d ¡}|d}| |d ¡}ddddg}| dd„¡}|j|}t ||¡|jdd„dd}| ¡}tj    |jddddg<t ||¡| dd„¡}| 
|¡}t  ||¡|jdd„dd}t tj    ddtj    dtj    tj    dg|dd}t  ||¡|  t¡}t ddddddddg|dd}t  ||¡|j  t¡}t  ||¡dS)NZbbbcbbabrrrr‡rˆr‰r rŠr‹rŒrrŽrrr cSs t|ƒdkSrdrzrrrrrrzHtest_filter_and_transform_with_non_unique_string_index.<locals>.<lambda>cSs t|ƒdkSrdrzrrrrrrFrrr    r cSs t|ƒdkSrdrzrrrrrrcSs t|ƒdkSrdrzrrrrrrr’)rfrrr"rXr r*r•rFrGrr!rrr{rr–rrrÚ6test_filter_and_transform_with_non_unique_string_indexs6(þ
 
 
 & 
  r¢cCsTtddgddgddggddgd}| d¡}| d    d
„¡}t ||jd dg¡dS) Nrrrr    r r/r0©rVcSs|d ¡dkS)Nr/rr1rrrrr1rz8test_filter_has_access_to_grouped_cols.<locals>.<lambda>r)rrr"r r*rX)r+ÚgZfiltrrrÚ&test_filter_has_access_to_grouped_cols-s"
r¥c
Cs|tdddgdddgdddgdddgdddgdddgddd    ggdddgd
}tjtd d | d¡ d d„¡W5QRXdS)NÚbestrArÚworstr7Úyr8ÚdÚzr£úfilter function returned a.*rNcSs |ddkS)NrAr¦r©r¤rrrrCrz1test_filter_enforces_scalarness.<locals>.<lambda>©rrPrQrRrr"©r+rrrÚtest_filter_enforces_scalarness5sù    ö r¯c
Cs|tdddgdddgdddgdddgdddgdddgdddggdddgd}tjtd    d
| d¡ d d „¡W5QRXdS) Nr¦rArr§r7r8r©r£r«rNcSs
|j ¡Src)r8rr¬rrrrTrz-test_filter_non_bool_raises.<locals>.<lambda>r­r®rrrÚtest_filter_non_bool_raisesFsù    ö r°cCs¨ttj d¡t dddgd¡d}|jdd}|jdd    „d
d }ttjgdt dddgd¡d}t     ||¡|jd d    „d d }tt
j gt dtj d}t     ||¡dS)Né    rrrrr)rWcSs | ¡dkSrdrrrrrr[rz6test_filter_dropna_with_empty_groups.<locals>.<lambda>FrcSs | ¡dkSrdrrrrrr_rTrD)rrE)rrFr|ZrandÚrepeatrr"rGr r!rYZIndexÚintÚfloat64)r\ZgrouppedZ result_falseZexpected_falseZ result_trueZ expected_truerrrÚ$test_filter_dropna_with_empty_groupsWs" " rµcCsvttdƒtdƒdœƒ}| d¡}| dd„¡}ttdƒtdƒdœƒ}t ||¡| ¡| dd„¡}t ||¡dS)Nr ZABCABC)r\Úkeyr¶cSsdSr‘rrrrrrhrzEtest_filter_consistent_result_before_after_agg_func.<locals>.<lambda>cSsdSr‘rrrrrrmr)rrZrfrr"r r*r2)r+r'r]r4rrrÚ3test_filter_consistent_result_before_after_agg_funcds
 r·)'ÚstringrÚnumpyrFrPZpandasrYrrrZpandas._testingZ_testingr r)r,r5r:r=r@rIrTr^rjrkrnr‚r†rr“ršr›rr¡r¢r¥r¯r°rµr·rrrrÚ<module>s>  
       5,***-*