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
U
­ý°d¤ ã @sÊddlZddlZddlmZddlmmZddl    m
Z
m Z m Z m Z mZddlmZe d¡dd„ƒZe d¡dd„ƒZe d¡ej d    ¡ej d
d d g¡ej d ddg¡ej dd d g¡dd„ƒƒƒƒƒZe d¡ej d    ¡ej d
d d g¡ej d ddg¡dd„ƒƒƒƒZe d¡dd„ƒZe d¡ej dddgdddgddœe dddg¡dd„ƒƒZe d¡d d!„ƒZe d¡d"d#„ƒZe d¡d$d%„ƒZe d¡ej d    ¡d&d'„ƒƒZe d¡d(d)„ƒZ dS)*éN)ÚNumbaUtilError)Ú    DataFrameÚIndexÚNamedAggÚSeriesÚoption_contextÚnumbac    Cs–dd„}tdddddgddddd    gd
œd d gd }tjtdd| d ¡j|ddW5QRXtjtdd| d ¡d j|ddW5QRXdS)NcSs t|ƒdS©Ngš™™™™™@©Úsum©Úx©rú`d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/aggregate/test_numba.pyÚincorrect_functionsz;test_correct_function_signature.<locals>.incorrect_functionÚaÚbçð?ç@ç@ç@ç@©ÚkeyÚdatarr©Úcolumnsz The first 2©Úmatchr©Úengine©rÚpytestÚraisesrÚgroupbyÚagg©rrrrrÚtest_correct_function_signaturesþr'c    Csšdd„}tdddddgddddd    gd
œd d gd }tjtdd| d ¡j|dddW5QRXtjtdd | d ¡d j|dddW5QRXdS)NcSs t|ƒdSr    r
©ÚvaluesÚindexrrrr#sz6test_check_nopython_kwargs.<locals>.incorrect_functionrrrrrrrrrrrznumba does not supportrré)r rr!r&rrrÚtest_check_nopython_kwargs!sþ r,ÚignoreÚjitTFÚ
pandas_objrrÚas_indexc Cs¤dd„}|rddl}| |¡}tdddddgdddd    d
gd œdd gd }|||dœ}    |jd|d}
|dkrr|
d }
|
j|d|    d} |
jdd„dd} t | | ¡dS)NcSst |¡dSr    ©ÚnpZmeanr(rrrÚ
func_numba8sz(test_numba_vs_cython.<locals>.func_numbarrrrrrrr©rr+r+r©ÚnogilÚparallelÚnopython)r0rr©r Ú engine_kwargscSst |¡dSr    r1r rrrÚ<lambda>Józ&test_numba_vs_cython.<locals>.<lambda>Úcythonr©rr.rr$r%ÚtmZ assert_equal) r.r/r6r7r8r0r3rrr:ÚgroupedÚresultÚexpectedrrrÚtest_numba_vs_cython1s
ÿ rCc Csdd„}dd„}|r0ddl}| |¡}| |¡}tdddddgdd    d
d d gd œddgd}|||dœ}    | d¡}
|dkr€|
d}
|
j|d|    d} |
jdd„dd} t | | ¡|
j|d|    d} |
jdd„dd} t | | ¡|
j|d|    d} |
jdd„dd} t | | ¡dS)NcSst |¡dS©Ng333333 @r1r(rrrÚfunc_1Vsztest_cache.<locals>.func_1cSst |¡dSr    r1r(rrrÚfunc_2Ysztest_cache.<locals>.func_2rrrrrrrrr4r+rr5rrr9cSst |¡dSrDr1r rrrr;kr<ztest_cache.<locals>.<lambda>r=rcSst |¡dSr    r1r rrrr;pr<cSst |¡dSrDr1r rrrr;ur<r>) r.r/r6r7r8rErFrrr:r@rArBrrrÚ
test_cacheOs.
 
ÿ 
  rGc    Cs~dd„}tdddddgddddd    gd
œd d gd }| d ¡}|j|dd}tddƒ|j|dd}W5QRXt ||¡dS)NcSst |¡dSrDr1r(rrrrE{sz&test_use_global_config.<locals>.func_1rrrrrrrr4rr+rrrzcompute.use_numbaT)rr$r%rr?Úassert_frame_equal)rErr@rBrArrrÚtest_use_global_configysÿ
 rIÚagg_funcÚminÚmaxr )ÚBÚCrM)ÚcolumnZaggfuncc    CsŒtdddddgdddddgdœd    d
gd }| d    ¡}tjtd d |j|ddW5QRXtjtd d |d
j|ddW5QRXdS)Nrrrrrrrr4rr+rzNumba engine canrrr)rr$r"r#ÚNotImplementedErrorr%)rJrr@rrrÚtest_multifunc_notimplimentedˆs ÿ
rQcCs°dd„}tddddgddddgdœƒ}| d¡d}|j|ddd    }td
gd dtddgdd d }t ||¡|j|d dd    }tdgd dtddgdd d }t ||¡dS)NcSs|| d… ¡S©Nr
)r)r*ÚnrrrÚsum_last¡sz&test_args_not_cached.<locals>.sum_lastrr+)Úidr rUr rrré©Úname)rXr*r)rr$r%rrr?Zassert_series_equal)rTÚdfZ    grouped_xrArBrrrÚtest_args_not_cachedžs   rZcCspdd„}tdddgdddgdœd    d
d gd }| d ¡j|dd}tddgdgtddgd dd}t ||¡dS)NcSs
t |¡SrRr1r(rrrÚf²sz+test_index_data_correctly_passed.<locals>.fÚArMééé)ÚgroupÚvéÿÿÿÿéþÿÿÿéýÿÿÿ)r*r`rrgø¿gÀrarW)rr*)rr$Ú    aggregaterr?rH)r[rYrArBrrrÚ test_index_data_correctly_passed¯s$ÿrfcsºd‰d‰d‰‡‡‡fdd„}ˆˆˆdœ}tddddgiƒ}|jddj|d    |d
}tdd d d giƒ}t ||¡d‰ˆˆˆdœ}|jddj|d    |d
}tdd d d giƒ}t ||¡dS) NTFcs ˆˆˆSrRrr(©r6r8r7rrÚ func_kwargsÅsz2test_engine_kwargs_not_cached.<locals>.func_kwargs©r8r6r7Úvaluer)Úlevelrr9rr)rr$rer?rH)rhr:rYrArBrrgrÚtest_engine_kwargs_not_cached½s,  ÿ   ÿrlcCsrdd„}tddddœgƒ ddg¡}|||d    œ}| d¡j|d
|d }td gtdgdd dgd}t ||¡dS)NcSsdS©Nr+rr(rrrÚ
numba_funcÜsz+test_multiindex_one_key.<locals>.numba_funcr+rVé©r\rMrNr\rMrirr9rrWrN)r*r)rÚ    set_indexr$r%rr?rH)r6r7r8rnrYr:rArBrrrÚtest_multiindex_one_keyÙs 
ÿrrc    Cshdd„}tddddœgƒ ddg¡}|||d    œ}tjtd
d  | ddg¡j|d |d W5QRXdS)NcSsdSrmrr(rrrrnêsz;test_multiindex_multi_key_not_supported.<locals>.numba_funcr+rVrorpr\rMrizMore than 1 grouping labelsrrr9)rrqr"r#rPr$r%)r6r7r8rnrYr:rrrÚ'test_multiindex_multi_key_not_supportedès ÿrs)!Únumpyr2r"Z pandas.errorsrZpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrrrrrZpandas._testingZ_testingr?Z
skip_if_nor'r,ÚmarkÚfilterwarningsZ parametrizerCrGrIrQrZrfrlrrrsrrrrÚ<module>sV  
 
 
 
%
 
üþ