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
60
61
62
63
64
65
66
67
68
69
70
71
72
U
­ý°dT$ã@sòddlZddlZddlmZddlmZmZm    Z    m
Z
ddl m Z ddl mZddlmZGdd„dƒZGdd    „d    eƒZGd
d „d eƒZej d d dg¡dd„ƒZdd„Zej dddd dg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zd d!„ZdS)"éN)Úgroupby)Ú group_cumprodÚ group_cumsumÚ
group_meanÚ    group_var)Úensure_platform_int)Úisnac@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) ÚGroupVarTestMixincCsÎtj d¡}tjt d¡ |j¡}tjddd}d| dd¡ |j¡}t     t 
d¡d    ¡ d
¡}t  |¡j d d d j dddddd…tjf}|d}| ||||¡t |||j¡s¾t‚t ||¡dS)NéÒ)éér Úint64©Údtypeé
ér )éÚintp)r rÚF©Úorder)ÚaxisÚddofér)ÚnpÚrandomÚ RandomStateÚnanÚonesÚastyperÚzerosÚrandÚtileÚarangeZsqueezeÚreshapeÚstdZnewaxisÚalgoÚallcloseÚrtolÚAssertionErrorÚtmÚassert_numpy_array_equal©ÚselfÚprngÚoutÚcountsÚvaluesÚlabelsZ expected_outZexpected_counts©r3ú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/groupby/test_libgroupby.pyÚtest_group_var_generic_1ds  ÿþz+GroupVarTestMixin.test_group_var_generic_1dcCs®tj d¡}tjt d¡ |j¡}tjddd}d| dd¡ |j¡}tjddd}t     |j
dd    d
gg¡}|d}|  ||||¡t  |||j ¡sžt‚t ||¡dS) Nr
©r r r r rrr r)rr)rrrrrrrr r!Úarrayr%r&r'r(r)r*r+r,r3r3r4Ú%test_group_var_generic_1d_flat_labels$s z7GroupVarTestMixin.test_group_var_generic_1d_flat_labelscCs¼tj d¡}tjt d¡ |j¡}tjddd}d| dd¡ |j¡}t     t 
d¡d¡ d    ¡}tj |  ddd¡d
d d d}|d}|  ||||¡t |||j¡s¬t‚t ||¡dS) Nr
©r rr r rrr©rrr r©rr)rrrrrrrr r!r"r#r%r$r&r'r(r)r*r+r,r3r3r4Ú$test_group_var_generic_2d_all_finite4s z6GroupVarTestMixin.test_group_var_generic_2d_all_finitecCsötj d¡}tjt d¡ |j¡}tjddd}d| dd¡ |j¡}tj|dd…df<t     t 
d¡d    ¡ d
¡}t  |dd…d fj ddd d j ddddtjt d¡g¡j |j¡}|d}| ||||¡tj||ddt ||¡dS)Nr
r9r r rrrr r:rrrrr;gíµ ÷Æ >©r()rrrrrrrr r!r"r#Zvstackr$r%ÚTr&r*Úassert_almost_equalr+r,r3r3r4Ú"test_group_var_generic_2d_some_nanCs" (þÿûz4GroupVarTestMixin.test_group_var_generic_2d_some_nancCsŒtjtjgg|jd}tjdgdd}dtjd|jd}tjddd}| ||||¡|ddksht‚|ddksxt‚t     |dd    ¡dS)
Nrrr gUUUÕª¦ê?)rr rr©rrg)
rr7rrrr r&r)r*r?)r-r/r0r1r2r3r3r4Útest_group_var_constantXsz)GroupVarTestMixin.test_group_var_constantN)Ú__name__Ú
__module__Ú __qualname__r5r8r<r@rBr3r3r3r4r    s
r    c@s*eZdZdZeeƒZejZ    dZ
dd„Z dS)ÚTestGroupVarFloat64Tgñh㈵øä>cCs”tj d¡}tjtjgg|jd}tjdgdd}| d¡d |j¡}d|_tj    ddd}| 
||||¡|ddks|t ‚t j |d    d
d d dS) Nr
rrr é@BlJ)£)rGr rrAgUUUUUUµ?gü©ñÒMb@?r=)rrrr7rrr!rÚshaper r&r)r*r?)r-r.r/r0r1r2r3r3r4Útest_group_var_large_inputsns z/TestGroupVarFloat64.test_group_var_large_inputsN) rCrDrEÚ__test__Ú staticmethodrr&rÚfloat64rr(rIr3r3r3r4rFgs
rFc@s"eZdZdZeeƒZejZ    dZ
dS)ÚTestGroupVarFloat32Tg{®Gáz„?N) rCrDrErJrKrr&rÚfloat32rr(r3r3r3r4rM}srMrrNrLc        Cs4tjtj d¡|d}t dddg¡}t d|¡}tjt|ƒtjd}tt t     d¡t 
tj d|f¡¡ƒ}t j }||||dd…df|ƒdd    „}t ||dd…ƒ||dd…ƒ||dd…ƒg¡}t ||¡t |tjddd
gtjd¡tj|dd…<||||dd…df|ƒtj|d<t ||¡dS) Néréé )rérrcSs6t|ƒ ¡rt tjd¡S|d| ¡| ¡|dgS)NrRréÿÿÿÿ)rÚallrÚrepeatrÚmaxÚmin)Úgroupr3r3r4Ú_ohlc‘s ztest_group_ohlc.<locals>._ohlcé)rr7rZrandnr Úlenr rrUr#ZdiffZr_Ú
libgroupbyZ
group_ohlcr*r?r+r)    rÚobjZbinsr/r0r2ÚfuncrYÚexpectedr3r3r4Útest_group_ohlc…s &4 
r`cCs|d}tjdgdgdgdgg|d}t |¡}tjddddgtjd}d}||||||ƒtj||ƒ|dd…dfdd    dS)
a
    Check a group transform that executes a cumulative function.
 
    Parameters
    ----------
    pd_op : callable
        The pandas cumulative function.
    np_op : callable
        The analogous one in NumPy.
    dtype : type
        The specified dtype of the data.
    Fr rrrRrrN)Z check_dtype)rr7Ú
zeros_likerr*r+)Úpd_opÚnp_oprÚis_datetimelikeÚdataZanswerr2Úngroupsr3r3r4Ú(_check_cython_group_transform_cumulative¡s 
rgÚnp_dtyper Zuint64cCs(t |¡j}ttj}}t|||ƒdS©N)rrÚtyperZcumsumrg)rhrrbrcr3r3r4Ú"test_cython_group_transform_cumsumºs  rkcCs"tj}ttj}}t|||ƒdSri)rrLrZcumprodrg)rrbrcr3r3r4Ú#test_cython_group_transform_cumprodÂs rlc
Cs¤d}tjdddddgtjd}d}tjdgdgdgtjgdggdd}t |¡}| tj¡t|||||ƒtjddd    tjd
gdd}t |dd…df|¡t |¡}| tj¡t    |||||ƒtjddd    tjd gdd}t |dd…df|¡d }tjt 
dd ¡gddddd…df}tj|dd}t    ||  d¡|||ƒt t 
dd ¡t 
dd ¡t 
dd ¡t 
dd ¡t 
dd ¡g¡}t |dd…df  d¡|¡dS)NFrrr rrrRrLrPérTÚnsr úm8[ns]r ) rr7rrraÚfillrr*r+rÚ timedelta64Úview)rdr2rfreÚactualr_r3r3r4Ú!test_cython_group_transform_algosÉs6$
 
 (
 
 
 
 
ûÿ    rtcCs®tjddd}tjdgdd}tjt dd¡t d    d¡t d
¡gd ddd…df d¡ d¡}tjt|ƒtjd}t||||d d t     
|dd…dftjdgdd¡dS)Nr6rL©rHrrr rrrnrRÚNaTroT©rdr) rr r7rqrrrr[rrr*r+©rsr0rer2r3r3r4Ú#test_cython_group_mean_datetimelikeïs þ
ýüûÿryc    Csxtjddd}tjddd}tjddddd…df}tjdtjd}tjtddt||||d    d
d W5QRXdS) Nr6rLrur r rÚ    min_count)ÚmatchTr)rdrz)rr rÚpytestZraisesr)rrxr3r3r4Ú&test_cython_group_mean_wrong_min_counts r}c Cs¸tjddd}tjdgdd}tjt d¡t d¡gdddd…df d¡ d¡}tjt|ƒtjd}t||||d    d
t     
|dd…dftjt  t  |d|d ¡d ¡dd¡dS) Nr6rLrurr rrvroFrwr r) rr r7rqrrrr[rrr*r+ÚdivideÚaddrxr3r3r4Ú:test_cython_group_mean_not_datetimelike_but_has_NaT_values s&þ
ýüûÿ$ÿr€)Únumpyrr|Z pandas._libsrr\Zpandas._libs.groupbyrrrrZpandas.core.dtypes.commonrZpandasrZpandas._testingZ_testingr*r    rFrMÚmarkZ parametrizer`rgrkrlrtryr}r€r3r3r3r4Ú<module>s&    U
 
&