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
U
®ý°d*ã@s~ddlmZmZddlZddlZddlmZddlZ    ddlm
Z
m Z m Z m Z ddlmZddlmZGdd„dƒZdd    „ZdS)
é)ÚtimeÚ    timedeltaN)ÚOutOfBoundsTimedelta)ÚSeriesÚTimedeltaIndexÚisnaÚ to_timedelta)ÚTimedeltaArrayc @süeZdZej dddg¡dd„ƒZdd„Zdd    „Zd
d „Z    d d „Z
ej dddgddgddgddgddgg¡dd„ƒZ dd„Z ej de  d¡ dd¡e e  d¡ dd¡¡g¡ej ddd d!g¡d"d#„ƒƒZd$d%„Zej dd&dgd&g¡d'd(„ƒZd)d*„Zd+d,„Zd-d.„Zd/d0„Zej d1d2d3d4d5d6d7d8d9d:d;g
¡d<d=„ƒZd>d?„Zd@dA„ZdBdC„Zej dDe jejg¡dEdF„ƒZdGdH„Z dIdJ„Z!dKdL„Z"ej dMe#ddNdgdOdOgg¡dPdQ„ƒZ$ej dRdSdTdUdVdWg¡ej dXej%e&g¡dYdZ„ƒƒZ'd[d\„Z(d]d^„Z)dOS)_ÚTestTimedeltasÚreadonlyTFcCs>tjgtd}|r|jddt|ƒ}tgƒ}t ||¡dS)N©ÚdtypeF)Úwrite)ÚnpÚarrayÚobjectZsetflagsrÚtmÚassert_index_equal)Úselfr ÚarrÚresultÚexpected©rú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/tools/test_to_timedelta.pyÚtest_to_timedelta_readonlys  z)TestTimedeltas.test_to_timedelta_readonlycCs tddgƒ}t|ƒ ¡st‚dS)NÚ)rrÚallÚAssertionError)rrrrrÚtest_to_timedelta_null!s z%TestTimedeltas.test_to_timedelta_nullcCsBtt t dd¡g¡ƒ}t t t dd¡g¡¡}t ||¡dS)NéÚs)rrrÚ timedelta64ÚpdÚIndexrr©rrrrrrÚ%test_to_timedelta_same_np_timedelta64%sz4TestTimedeltas.test_to_timedelta_same_np_timedelta64cCs:ttddtdddgƒ}ttddgƒƒ}t ||¡dS)Nr©Údays)r'ÚsecondsZ1dz1days 00:00:01©rrrrÚassert_series_equal©rrrrrrÚtest_to_timedelta_series+sz'TestTimedeltas.test_to_timedelta_seriescCsBtt dd¡t dd¡ d¡gƒ}tddgdd}t ||¡dS)NrÚnsé
r úm8[ns]©Úunit)rrr!Úastyperrrr$rrrÚtest_to_timedelta_units1s
ÿz&TestTimedeltas.test_to_timedelta_unitsz dtype, unitÚint64r ÚmÚhztimedelta64[s]ztimedelta64[D]ÚDcCsZtjdgd|d}t||d}|dkr,dnd}tt d|¡gd|d}t ||¡dS)Nrér r0r4r/zm8[s])rrrrr!rr)rr r1rrZ    exp_dtyperrrrÚtest_to_timedelta_units_dtypes9s
 z-TestTimedeltas.test_to_timedelta_units_dtypesc    Csˆtjtjjdgdd}d}tjt|dt|ƒW5QRXtjt|dt    |ƒW5QRXtjt|dt
  |¡W5QRXdS)Nrztimedelta64[m]r zPCannot convert -9223372036854775807 minutes to timedelta64\[s\] without overflow©Úmatch) rrr"ÚNaTÚ_valueÚpytestÚraisesrrrr    Z_from_sequence)rrÚmsgrrrÚtest_to_timedelta_oob_non_nanoKsÿz-TestTimedeltas.test_to_timedelta_oob_non_nanoÚargr.ér8ÚerrorsÚignoreÚraiseÚcoercec    Cs*tjtddt||dW5QRXdS)Nz    1-d arrayr:©rD)r>r?Ú    TypeErrorr)rrBrDrrrÚtest_to_timedelta_dataframe[sz*TestTimedeltas.test_to_timedelta_dataframec    Cs0d}tjt|dtdgddW5QRXdS)Nzerrors must be one ofr:ÚfooÚneverrH©r>r?Ú
ValueErrorr©rr@rrrÚ test_to_timedelta_invalid_errorsdsz/TestTimedeltas.test_to_timedelta_invalid_errorsrc    Cs.d}tjt|dt|ddW5QRXdS)Nzinvalid unit abbreviation: foor:rKr0rM)rrBr@rrrÚtest_to_timedelta_invalid_unitjsz-TestTimedeltas.test_to_timedelta_invalid_unitc    CsLd}tjt|dttddƒW5QRXttddddtjksHt‚dS)NzIValue must be Timedelta, string, integer, float, timedelta or convertibler:r)ÚsecondrGrH)r>r?rNrrr"r<rrOrrrÚtest_to_timedelta_timeqs
ÿz%TestTimedeltas.test_to_timedelta_timec    Cs.d}tjt|dtddgƒW5QRXdS)Nz*Could not convert 'foo' to NumPy timedeltar:rKÚbarrMrOrrrÚtest_to_timedelta_bad_valuezsz*TestTimedeltas.test_to_timedelta_bad_valuecCsNt ttjtjgƒtddgdd¡t tdtjdgƒtdddgdd¡dS)NrKrTrGrHú1 dayz1 min)rrrr"r<r)rrrrÚ"test_to_timedelta_bad_value_coercesþþz1TestTimedeltas.test_to_timedelta_bad_value_coercecCs„d}|t|ddkst‚ddg}t tj|tdt|dd¡t ddg¡}t     |t|dd¡t
ddgƒ}t  |t|dd¡dS)NZapplerErHz1 daysr ) rrrÚassert_numpy_array_equalrrrr"r#rrr*)rZ invalid_datarrrÚ'test_to_timedelta_invalid_errors_ignoreŠs 
þ 
ÿz6TestTimedeltas.test_to_timedelta_invalid_errors_ignorez val, errors)Z1MT)z1 MT)Z1YT)z1 YT)Z1yT)z1 yT)Z1mF)z1 mF)rVF)Z2dayFc    Cs8d}|r,tjt|dt|ƒW5QRXnt|ƒdS)Nz=Units 'M', 'Y' and 'y' do not represent unambiguous timedeltar:rM)rÚvalrDr@rrrÚ!test_unambiguous_timedelta_valuess
z0TestTimedeltas.test_unambiguous_timedelta_valuescCsLtt dd¡gƒ}tdgƒ t¡}t ||¡ttdƒgƒ}t ||¡dS)Nrr ú00:00:01)rrr!Úapplyrrr*r+rrrÚtest_to_timedelta_via_apply·s
 z*TestTimedeltas.test_to_timedelta_via_applyc    CsNdtjg}t d¡t|ƒ}W5QRXttjddtjgƒ}t ||¡dS)Nr\r)r()r"r<rZassert_produces_warningrrÚ    Timedeltar)rÚvalsrrrrrÚ+test_to_timedelta_inference_without_warningÀs
 
 z:TestTimedeltas.test_to_timedelta_inference_without_warningcCsrt d¡}ttdtjgƒƒ}tt dd¡|gtj›dd}t ||¡tdtj    gdd}t|ƒ}t ||¡dS)Nr<r\éʚ;r-r/r )
rr!rrÚnanrZENDIANr*r"r<)rZ timedelta_NaTÚactualrÚserrrrÚ#test_to_timedelta_on_missing_valuesÊs
 
þ z2TestTimedeltas.test_to_timedelta_on_missing_valuesrZcCs&t|ƒ}|jt d¡ d¡ks"t‚dS)Nr<r4)rr=rr!r2r)rrZrdrrrÚ*test_to_timedelta_on_missing_values_scalarÙsz9TestTimedeltas.test_to_timedelta_on_missing_values_scalarcCsFt ddd¡dd…}t|dd}tjddd    d
d }t |j|¡dS) Nrrgíµ ÷ư>iöÿÿÿr r0ið¢š;rbièr4r )rÚarangerrrXZasi8)rrrZ expected_asi8rrrÚtest_to_timedelta_floatÞs z&TestTimedeltas.test_to_timedelta_floatcCsFtjdddgtd}t|ddd}tddtjgdd}t ||¡dS)    NrrCÚerrorr r-rG©r1rDr0)rrrrr"r<rr)rrrrrrrÚ%test_to_timedelta_coerce_strings_unitåsz4TestTimedeltas.test_to_timedelta_coerce_strings_unitcCs2tjdddgtd}t|ddd}t ||¡dS)NrrCrjr r-rErk)rrrrrrX)rrrrrrÚ%test_to_timedelta_ignore_strings_unitësz4TestTimedeltas.test_to_timedelta_ignore_strings_unitzexpected_val, result_valr&NcCs:ttdd|gƒ}ttd|gdddd}t ||¡dS)Nrr&ZInt64r r'r0r))rZ expected_valZ
result_valrrrrrÚ&test_to_timedelta_nullable_int64_dtypeðsz5TestTimedeltas.test_to_timedelta_nullable_int64_dtype)Úinputr)z8:53:08.71800000001z 8:53:08.718)ú8:53:08.718001rp)ú8:53:08.7180000001rq)z-8:53:08.71800000001z -8:53:08.718)z8:53:08.7180000089z8:53:08.718000008ÚfunccCs"t |¡}||ƒ}||kst‚dS)N)r"r_r)rrorrrrrrrÚ&test_to_timedelta_precision_over_nanosús
z5TestTimedeltas.test_to_timedelta_precision_over_nanosc    Csr| ¡}t |¡}d}tjt|dt|ƒW5QRX| d¡}t|ƒ}t|t    j
ƒsZt ‚|j | d¡ksnt ‚dS)NzYValue must be Timedelta, string, integer, float, timedelta or convertible, not datetime64r:r/Úi8) Z to_datetime64rrr>r?rNrÚviewÚ
isinstancer"r_rr=)rZ fixed_now_tsZdt64rBr@Zarg2rrrrÚtest_to_timedelta_zerodim s
ÿ
z(TestTimedeltas.test_to_timedelta_zerodimcCsBtdtjg|d}t|ƒ}ttjdddtjgƒ}t ||¡dS)Nrr r-r0)rr"ZNArr_r<rr*)rÚany_numeric_ea_dtypererrrrrÚtest_to_timedelta_numeric_easz+TestTimedeltas.test_to_timedelta_numeric_ea)*Ú__name__Ú
__module__Ú __qualname__r>ÚmarkZ parametrizerrr%r,r3r9rArrhZreshaper"Z    DataFramerJrPrQrSrUrWrYr[r^rarfrcr<rgrirlrmrrnr_rrsrwryrrrrr
sŽ
    ûþ
 
(ÿ 
     öþ
    
 
ÿ
ûþ
 r
cCsLt d¡tddg| ¡›dd}t|ƒ}tddgdd}t ||¡dS)NZpyarrowrrCz    [pyarrow]r ztimedelta64[ns])r>Z importorskiprÚlowerrrr*)rxrerrrrrÚtest_from_numeric_arrow_dtype$s
 
r)ÚdatetimerrÚnumpyrr>Z pandas.errorsrZpandasr"rrrrZpandas._testingZ_testingrZpandas.core.arraysr    r
rrrrrÚ<module>s