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
U
­ý°d.ã@sfddlZddlZddlmZmZmZmZmZm    Z    ddl
m Z dd„Z dd„ZGdd„dƒZd    d
„ZdS) éN)Ú DatetimeIndexÚIndexÚNaTÚ PeriodIndexÚTimedeltaIndexÚtimedelta_rangecCs`t|tƒr|j|jks\t‚n@t|ttfƒr\|rD|jj|jjks\t‚n|jjd|jjks\t‚dS)z½
    Check the expected freq on a PeriodIndex/DatetimeIndex/TimedeltaIndex
    when the original index is generated (or generate-able) with
    period_range/date_range/timedelta_range.
    éÿÿÿÿN)Ú
isinstancerÚfreqÚAssertionErrorrrÚn)ÚorderedÚorigÚ    ascending©rújd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/datetimelike_/test_sort_values.pyÚcheck_freq_ascendings 
rcCs<t|tƒr|j|jks8t‚nt|ttfƒr8|jdks8t‚dS)zÄ
    Check the expected freq on a PeriodIndex/DatetimeIndex/TimedeltaIndex
    when the original index is _not_ generated (or generate-able) with
    period_range/date_range//timedelta_range.
    N)r    rr
r rr)r rrrrÚcheck_freq_nonmonotonics
rc@s\eZdZejeeegddd„ƒZdd„Z    dd„Z
dd    „Z ej   d
d d g¡d d„ƒZej   dedddgd ddedddgd dddg¡dd„ƒZej   d
d ddg¡dd„ƒZej   ded d!d"gd#d$d%ed&d'd(gdd)g¡d*d+„ƒZd,d-„Zd.d/„Zej   d0ddd1ddgddddd1gfddd1ddgddddd1gfedd1degeeddd1gfg¡d2d3„ƒZej   d4eddd1ddgd d5deddddd1gd d5dfeddd1ddgd d6deddddd1gd d6dfeedd1degd d7deeeddd1gd d7dfed d"d8d!d gd#d$d%ed d d!d"d8gd#d$d%fed&d(d9d'd&gdd)ed&d&d'd(d9gdd)fg¡d:d;„ƒZd<d=„Zd>S)?ÚTestSortValues)ÚparamscCsL|jtkrtdddgƒS|jtkr:tdddgƒ}| d¡StdddgƒSdS)Nz
2000-01-04z
2000-01-01z
2000-01-02ÚDz1 day 00:00:05z1 day 00:00:01z1 day 00:00:02)ÚparamrrZ    to_periodr)ÚselfÚrequestZdtirrrÚnon_monotonic_idx+s
 
 
ÿz TestSortValues.non_monotonic_idxcCs$| ¡dkst‚| ¡dks t‚dS)Nér)Zargminr Zargmax)rrrrrÚtest_argmin_argmax7sz!TestSortValues.test_argmin_argmaxcCs¶|}| ¡}|jst‚|jdd}|ddd…js6t‚|jdd\}}|jsPt‚t |tjdddgtjd    ¡|jddd
\}}|ddd…js”t‚t |tjdddgtjd    ¡dS) NF©rrT©Úreturn_indexerrér©Zdtype©rr)Ú sort_valuesZis_monotonic_increasingr ÚtmÚassert_numpy_array_equalÚnpÚarrayÚintp)rrÚidxr ZdexerrrrÚtest_sort_values;s
 
zTestSortValues.test_sort_valuescCsò| ¡}t ||¡t||dƒ|jdd}|ddd…}t ||¡t||dƒ|jdd\}}t ||¡t |tjdddgtjd    ¡t||dƒ|jddd
\}}|ddd…}t ||¡t |tjdddgtjd    ¡t||dƒdS) NTFrrrrrr r!r")r#r$Úassert_index_equalrr%r&r'r()rr)r ÚexpectedÚindexerrrrÚcheck_sort_values_with_freqJs         z*TestSortValues.check_sort_values_with_freqr
rÚHcCs(td|›d|d d¡}| |¡dS)NÚ1é)ÚstartZperiodsr
r))rÚrenamer.©rr
r)rrrÚ)test_sort_values_with_freq_timedeltaindex_sz8TestSortValues.test_sort_values_with_freq_timedeltaindexr)ú
2011-01-01ú
2011-01-02ú
2011-01-03©r
Únamez2011-01-01 09:00z2011-01-01 10:00z2011-01-01 11:00Ztzidxz
Asia/Tokyo)r
r:ÚtzcCs| |¡dS©N©r.©rr)rrrÚ(test_sort_values_with_freq_datetimeindexfsz7TestSortValues.test_sort_values_with_freq_datetimeindexZ2DZ4DcCs"tdddg|dd}| |¡dS)Nr6r7r8r)r9)rr.r4rrrÚ&test_sort_values_with_freq_periodindexws ÿz5TestSortValues.test_sort_values_with_freq_periodindexÚ2011Ú2012Ú2013ÚpidxÚA©r:r
éÛéÜéÝ©r:cCs| |¡dSr<r=r>rrrÚ'test_sort_values_with_freq_periodindex2s    z6TestSortValues.test_sort_values_with_freq_periodindex2cCs||jdd}t ||¡t||ƒ| ¡ ¡sL| ¡}t ||¡t||ƒ|jdd}t ||ddd…¡t||ƒ|jddd\}}t ||¡tjdd    d
d d gtjd }t     ||¡t||ƒ| ¡ ¡s |jdd\}}t ||¡tjdd    d
d d gtjd }t     ||¡t||ƒ|jddd\}}t ||ddd…¡tjd d d
dd    gtjd }t     ||¡t||ƒdS)NÚfirst©Ú na_positionFrrT)rrNrér1rr r!rr")
r#r$r+rZisnaÚanyr&r'r(r%)rr)r,r r-ÚexprrrÚcheck_sort_values_without_freqŠs4  
 
 
 
 
 z-TestSortValues.check_sort_values_without_freqcCs<tdddddgdd}tdddddgdd}| ||¡dS)Nz1 hourz3 hourz5 hourz2 hour Úidx1rJz2 hour)rrR©rr)r,rrrÚ,test_sort_values_without_freq_timedeltaindex®s ÿ ÿz;TestSortValues.test_sort_values_without_freq_timedeltaindexzindex_dates,expected_datesz
2011-01-05cCs0|}t||dd}t||dd}| ||¡dS)Nr))r;r:)rrR)rZ index_datesZexpected_datesZtz_naive_fixturer;r)r,rrrÚ+test_sort_values_without_freq_datetimeindex¹sz:TestSortValues.test_sort_values_without_freq_datetimeindexz idx,expectedrSZidx2Zidx3Ú2015éßcCs| ||¡dSr<)rRrTrrrÚ)test_sort_values_without_freq_periodindexÕsPz8TestSortValues.test_sort_values_without_freq_periodindexcCs~tddddgddd}tddddgddd}|jdd}t ||¡t||ƒ|jd    d
}t ||ddd …¡t||ƒdS) NrArCrrDrrFrLrMFrr)rr#r$r+r)rr)r,r rrrÚ-test_sort_values_without_freq_periodindex_nat's  
 z<TestSortValues.test_sort_values_without_freq_periodindex_natN)Ú__name__Ú
__module__Ú __qualname__ÚpytestZfixturerrrrrr*r.ÚmarkZ parametrizer5r?r@rrKrRrUrrVrYrZrrrrr*sò
 
ÿüüþ
 
þþ
$   þ  þ  þ÷þ
û÷ û÷ôû÷ û÷ô ý ýú  ÿ ÿü
ý»þN
rcCsbtdddddgddd}tdd    d
d dgd d }|jddd\}}|jddd\}}t ||¡dS)NrArCrWrBrDrErFrGrIrXrHr)rJTFr")rrr#r$r%)rDZiidxZordered1Zindexer1Zordered2Zindexer2rrrÚtest_order_stability_compat5s
r`)Únumpyr&r^ZpandasrrrrrrZpandas._testingZ_testingr$rrrr`rrrrÚ<module>s