zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
U
®ý°dÒ&ã@s`ddlZddlZddlZddlmZmZmZmZm    Z    m
Z
m Z m Z m Z ddlmZddlmZdd„Zej ddddg¡dd    „ƒZd
d „Zej d d dg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zej ddddigd dgg¡d!d"„ƒZd#d$„Z d%d&„Z!d'd(„Z"d)d*„Z#d+d,„Z$d-d.„Z%ej d/dd0d1g¡d2d3„ƒZ&d4d5„Z'd6d7„Z(d8d9„Z)dS):éN)    Ú    DataFrameÚIndexÚ
MultiIndexÚSeriesÚ    TimestampÚconcatÚ
date_rangeÚisnaÚnotna)Úoffsetsc
CsBt ¡0tjddtd|t |¡ ¡W5QR£SQRXdS)NÚignorez.*(empty slice|0 for slice).*)ÚmessageÚcategory)ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningÚnpÚisfiniteÚmean©Úx©rúUd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/window/test_apply.pyÚfs
ýrÚbad_rawéc    Cs:tjtdd"ttdƒƒ d¡jt|dW5QRXdS)Nz'raw parameter must be `True` or `False`©Úmatchér©Úraw)ÚpytestÚraisesÚ
ValueErrorrÚrangeÚrollingÚapplyÚlen)rrrrÚtest_rolling_apply_invalid_raw"sr)cCs€|\}}tddddgƒ}| d¡jtj||d}| ¡ ¡s@t‚|jdddjtj||d}tddddgtd    }t     
||¡dS)
Nréréé
©Úenginer!©Ú min_periodsé©Zdtype) rr&r'rÚsumr    ÚallÚAssertionErrorÚfloatÚtmÚassert_almost_equal)Úengine_and_rawr.r!ÚvalsÚresultÚexpectedrrrÚ test_rolling_apply_out_of_bounds(sr=Úwindowr*Ú2sc    s ttj d¡tjjdddddœtddddd    ‰‡fd
d „}ˆ |¡j|d d }ˆjdd…     ˆ¡}t
  ||¡t
  t ¡ˆ |¡j|dd W5QRXdS)Nérr,)Úsize©ÚAÚBÚ20130101Ús©ZperiodsÚfreq)Úindexcs$|jdˆjdkrtjS|jdS)Nréÿÿÿÿ)rIrÚnanÚilocr©Údfrrr@sz1test_rolling_apply_with_pandas_objects.<locals>.fFr r*T)rrÚrandomÚrandnÚrandintrr&r'rLZ reindex_liker7Úassert_frame_equalZexternal_error_raisedÚAttributeError)r>rr;r<rrMrÚ&test_rolling_apply_with_pandas_objects6s þ   rTcCs¼|\}}tgdd}|jd|djdd„||d}t ||¡tdddgƒ}|jdd    |d
jd d„||d}td d d gƒdd|…}t ||¡|jdd    |d
jt||d}t ||¡dS)NÚfloat64r2r,)ÚstepcSs| ¡S©N)rrrrrÚ<lambda>Róz$test_rolling_apply.<locals>.<lambda>r-r*r©r0rVcSst|ƒSrW)r(rrrrrXYrYçð?ç@)rr&r'r7Úassert_series_equalr()r9rVr.r!r<r;rFrrrÚtest_rolling_applyMs$ ÿ ÿ r^cCs~|\}}ttddddtdƒdœƒ d¡d}|jdd    }|jd
d    }|jd d „||d }|jdd „||d }t ||¡dS)NrEr@rFrGrBrCr*r)r>Ú1scSsdS©NrrrrrrrXnrYz test_all_apply.<locals>.<lambda>r-cSsdSr`rrrrrrXorY)rrr%Z    set_indexr&r'r7rR)r9r.r!rNZerÚrr;r<rrrÚtest_all_applybsÿþýÿ  rbcCsê|\}}tdtdƒiƒ}tdƒtdƒtdƒtdƒtdƒg|_dd    „}|jd
d d j|||d }| ¡}d|d<t ||¡|jdd d j|||d }| ¡}d|d<t ||¡|jdd d j|||d }| ¡}d|d<t ||¡dS)NrDr@z20130101 09:00:00z20130101 09:00:02z20130101 09:00:03z20130101 09:00:05z20130101 09:00:06cSsdSr`rrrrrrXrYz#test_ragged_apply.<locals>.<lambda>r_r©r>r0r-r[r?Z5s)    rr%rrIr&r'Úcopyr7rR)r9r.r!rNrr;r<rrrÚtest_ragged_applyss*û  rec    Cs>tjtdd&ttdƒƒ d¡jdd„ddW5QRXdS)Nz)engine must be either 'numba' or 'cython'rrcSs|SrWrrrrrrX’rYz%test_invalid_engine.<locals>.<lambda>Zfoo)r.©r"r#r$rr%r&r'rrrrÚtest_invalid_enginesrgc    CsDtjtdd,ttdƒƒ d¡jdd„dddid    W5QRXdS)
Nz+cython engine does not accept engine_kwargsrrcSs|SrWrrrrrrX˜rYz3test_invalid_engine_kwargs_cython.<locals>.<lambda>ZcythonZnopythonF)r.Z engine_kwargsrfrrrrÚ!test_invalid_engine_kwargs_cython•s ÿrhc    Cs@tjtdd(ttdƒƒ d¡jdd„dddW5QRXdS)    Nz.raw must be `True` when using the numba enginerrcSs|SrWrrrrrrX rYz(test_invalid_raw_numba.<locals>.<lambda>FZnumba)r!r.rfrrrrÚtest_invalid_raw_numbaœs
ÿriÚ args_kwargsÚparr,)r,cCsÐdd„}tddgddgdœƒ}tddgƒ}tddgdd    gg|d
}| d¡j||d |dd }t ||¡tjd dgddgd}tdd    g|dd}|     d¡d d¡}|j||d |dd }t 
||¡dS)NcSst ||¡SrW)rr3)rrkrrrÚnumpysum¦sz0test_rolling_apply_args_kwargs.<locals>.numpysumrr*)ÚgrÚarmrng&@g(@)Úcolumnsr)ÚargsÚkwargs)rr)rr)Únames)rIÚname) rrr&r'r7rRrÚ from_tuplesrÚgroupbyr])rjrlrNÚidxr<r;ZmidxZ
gb_rollingrrrÚtest_rolling_apply_args_kwargs£s  rwcCsRttj d¡ƒ}tj|dd…<tj|dd…<|jdddjt|d}t     |j
dt  |dd…¡¡|jdd    djt|d}t |j
d
ƒsŽt ‚t |j
d ƒr t ‚t |j
d ƒr²t ‚t |j
d ƒsÄt ‚ttj d¡ƒ}|jdddjt|d}t |j
dƒsþt ‚t|j
dƒst ‚|jdddjt|d}|jdddjt|d}t     ||¡dS)Né2r,éöÿÿÿér/r rJééééiúÿÿÿéûÿÿÿr@rr+rr)rrrOrPÚNaNr&r'rr7r8rLrr    r5r
)r!Úobjr;Úobj2Zresult0Zresult1rrrÚ    test_nansºs" rƒcCs”ttj d¡ƒ}tj|dd…<tj|dd…<|jddddjt|d}t|ttjgd    ƒgƒjddd
jt|dj    d    d…j
dd }t   ||¡dS) Nrxr,ryr{r|T)r0Úcenterr é    r/)Zdrop) rrrOrPr€r&r'rrrLZ reset_indexr7r])r!rr;r<rrrÚ test_centerÔs"ÿþýüÿr†cCsF| d¡jt|d}t|tƒs"t‚t |jdt     
|dd…¡¡dS)Nrxr rJéÎÿÿÿ) r&r'rÚ
isinstancerr5r7r8rLrr)r!Úseriesr;rrrÚ test_seriesäsrŠcCsd| d¡jt|d}t|tƒs"t‚tj|jddd…f|jdd…dd…fjt    j
d|ddddS)    Nrxr rJr‡r)Úaxisr!F©Z check_names) r&r'rrˆrr5r7r]rLrr)r!Úframer;rrrÚ
test_frameês"ýrŽc    Cs‚d}d}|ddd… d¡ ¡}|j||djt|d}|jd}|dt ¡}|ddd… ||¡}t     
|dt  |¡¡dS)    Nér,r*rDrcr rJr~) Úresamplerr&r'rrIr ÚBDayÚtruncater7r8r)    r!r‰ÚwinÚminpZserZ series_resultÚ    last_dateÚ    prev_dateZ trunc_seriesrrrÚtest_time_rule_seriesôs
r—c    CsŽd}d}|ddd… d¡ ¡}|j||djt|d}|jd}|dt ¡}|ddd… ||¡}t    j
|  |¡|jt j|dd    d
dS) Nrr,r*rDrcr rJr~FrŒ) rrr&r'rrIr r‘r’r7r]Úxsr)    r!rr“r”ÚfrmZ frame_resultr•r–Z trunc_framerrrÚtest_time_rule_frames
ýršr”écédcCsv|jt|ƒd||djt|d}|jt|ƒ||djt|d}t|ƒ}t |t|ƒ¡|}t ||||¡dS)NrrZr )r&r(r'rr    r7r]r8)r!r‰r”rVr;r<Znan_maskrrrÚtest_min_periodssÿÿrcCsvdd„tdƒDƒ}d}| t|jƒ|¡jd|djt|d d¡ |j¡}|jd|d    d
jt|d}t     ||¡dS) NcSsg|]}d|d›‘qS©rÚdr©Ú.0rrrrÚ
<listcomp>!sz.test_center_reindex_series.<locals>.<listcomp>é r,rrcr éôÿÿÿT©r>r0r„)
r%ÚreindexÚlistrIr&r'rÚshiftr7r])r!r‰rFr”Z    series_xpZ    series_rsrrrÚtest_center_reindex_seriess&ÿþýüÿÿr©cCsvdd„tdƒDƒ}d}| t|jƒ|¡jd|djt|d d¡ |j¡}|jd|d    d
jt|d}t     ||¡dS) NcSsg|]}d|d›‘qSržrr rrrr¢3sz-test_center_reindex_frame.<locals>.<listcomp>r£r,rrcr r¤Tr¥)
r%r¦r§rIr&r'rr¨r7rR)r!rrFr”Zframe_xpZframe_rsrrrÚtest_center_reindex_frame1s ÿþýüÿrªcCsBtddgƒ}|jdddjtj|d}tddgƒ}t ||¡dS)Nrr*)r>r‹r r[r\)rr&r'rr3r7rR)r!rNr;r<rrrÚ
test_axis1As  r«)*rÚnumpyrr"Zpandasrrrrrrrr    r
Zpandas._testingZ_testingr7Zpandas.tseriesr rÚmarkZ parametrizer)r=rTr^rbrergrhrirwrƒr†rŠrŽr—ršrr©rªr«rrrrÚ<module>s<,