zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
­ý°d™ã    @s°ddlZddlmZddlmmZddlmZm    Z    m
Z
ddl m Z e 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œg¡dd„ƒƒZe d¡dd„ƒZe d¡d d!„ƒZe d¡d"d#„ƒZe d¡ej d    ¡d$d%„ƒƒZe d¡d&d'„ƒZdS)(éN)ÚNumbaUtilError)Ú    DataFrameÚSeriesÚoption_contextÚnumbac    Cs–dd„}tdddddgddddd    gd
œd d gd }tjtdd| d ¡j|ddW5QRXtjtdd| d ¡d j|ddW5QRXdS)NcSs|dS©Né©©Úxr    r    ú`d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/transform/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Ú    transform©r rr    r    r Útest_correct_function_signaturesþr$c    Csšdd„}tdddddgddddd    gd
œd d gd }tjtdd| d ¡j|dddW5QRXtjtdd | d ¡d j|dddW5QRXdS)NcSs|dSrr    ©ÚvaluesÚindexr    r    r r  sz6test_check_nopython_kwargs.<locals>.incorrect_functionrrrrrrrrrrrznumba does not supportrrr)rrrr#r    r    r Útest_check_nopython_kwargssþ 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)NcSs|dSrr    r%r    r    r Úfunc5sz"test_numba_vs_cython.<locals>.funcrrrrrrrr©rrrr©ÚnogilÚparallelÚnopython)r,rr©rÚ engine_kwargscSs|dSrr    r
r    r    r Ú<lambda>Góz&test_numba_vs_cython.<locals>.<lambda>Úcythonr©rr*rr!r"ÚtmZ assert_equal) r*r+r0r1r2r,r-rrr4ÚgroupedÚresultÚexpectedr    r    r Útest_numba_vs_cython.s
ÿ r=c 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)NcSs|dSrr    r%r    r    r Úfunc_1Ssztest_cache.<locals>.func_1cSs|dS©Nér    r%r    r    r Úfunc_2Vsztest_cache.<locals>.func_2rrrrrrrrr.rrr/rrr3cSs|dSrr    r
r    r    r r5hr6ztest_cache.<locals>.<lambda>r7rcSs|dSr?r    r
r    r    r r5lr6cSs|dSrr    r
r    r    r r5qr6r8) r*r+r0r1r2r>rArrr4r:r;r<r    r    r Ú
test_cacheLs.
 
ÿ 
  rBc    Cs~dd„}tdddddgddddd    gd
œd d gd }| d ¡}|j|dd}tddƒ|j|dd}W5QRXt ||¡dS)NcSs|dSrr    r%r    r    r r>wsz&test_use_global_config.<locals>.func_1rrrrrrrr.rrrrrzcompute.use_numbaT)rr!r"rr9Úassert_frame_equal)r>rr:r<r;r    r    r Útest_use_global_configusÿ
 rDÚagg_funcÚminÚmaxÚsum)ÚBÚCc    CsŒtdddddgdddddgdœd    d
gd }| d    ¡}tjtd d |j|ddW5QRXtjtd d |d
j|ddW5QRXdS)Nrrrrrrrr.rrrzNumba engine canrrr)rr!rr ÚNotImplementedErrorr")rErr:r    r    r Útest_multifunc_notimplimented„sÿ
rLcCs”dd„}tddddgddddgdœƒ}| d¡d}|j|ddd    }td
gd dd }t ||¡|j|d dd    }tdgd dd }t ||¡dS)NcSs|| d… ¡S©N)rH)r&r'Únr    r    r Úsum_last—sz&test_args_not_cached.<locals>.sum_lastrr)Úidr rPr rrré)Únameér)rr!r"rr9Zassert_series_equal)rOÚdfZ    grouped_xr;r<r    r    r Útest_args_not_cached”s rUcCsldd„}tdddgdddgdœd    d
d gd }| d ¡j|dd}tdddgdgd    d
d gd}t ||¡dS)NcSs|dSrr    r%r    r    r Úf¨sz+test_index_data_correctly_passed.<locals>.fÚArIrQr@é)ÚgroupÚvéÿÿÿÿéþÿÿÿéýÿÿÿ)r'rYrrgÀgÀgÀrZ)rr'©rr!r"r9rC)rVrTr;r<r    r    r Ú test_index_data_correctly_passed¥s
$r_csº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 ˆˆˆSrMr    r%©r0r2r1r    r Ú func_kwargs¹sz2test_engine_kwargs_not_cached.<locals>.func_kwargs©r2r0r1Úvaluer)Úlevelrr3rrr^)rar4rTr;r<r    r`r Útest_engine_kwargs_not_cached±s,  ÿ   ÿrecCsrdd„}tddddœgƒ ddg¡}|||d    œ}| d¡j|d
|d }tddd dœgƒ ddg¡}t ||¡dS) NcSsdSrr    r%r    r    r Ú
numba_funcÐsz+test_multiindex_one_key.<locals>.numba_funcrrSé©rWrIrJrWrIrbrr3r)rÚ    set_indexr!r"r9rC)r0r1r2rfrTr4r;r<r    r    r Útest_multiindex_one_keyÍs 
ÿrjc    Cshdd„}tddddœgƒ ddg¡}|||d    œ}tjtd
d  | ddg¡j|d |d W5QRXdS)NcSsdSrr    r%r    r    r rfÞsz;test_multiindex_multi_key_not_supported.<locals>.numba_funcrrSrgrhrWrIrbzMore than 1 grouping labelsrrr3)rrirr rKr!r")r0r1r2rfrTr4r    r    r Ú'test_multiindex_multi_key_not_supportedÜs ÿrk)rZ pandas.errorsrZpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrrrZpandas._testingZ_testingr9Z
skip_if_nor$r(ÚmarkÚfilterwarningsZ parametrizer=rBrDrLrUr_rerjrkr    r    r    r Ú<module>sL  
 
 
 
$
ÿ