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
73
74
75
76
77
78
79
80
81
U
­ý°dþ.ã@s’ddlZddlZddlmZddlmZmZmZm    Z    m
Z
m Z m Z m Z ddlmZddlmZGdd„deƒZdd„Zej d    d
d g¡d d „ƒZdS)éN)ÚIncompatibleFrequency)ÚIndexÚNaTÚPeriodÚ PeriodIndexÚSeriesÚ
date_rangeÚoffsetsÚ period_range)Ú DatetimeLikec@säeZdZeZejedœdd„ƒZeje     
d¡e ddddddd    …gd
d gd d d„ƒZ dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„ZdS)1ÚTestPeriodIndex)ÚreturncCstddddS)NÚ20130101éÚD©ÚperiodsÚfreq©r
©Úself©rú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/period/test_period.pyÚ simple_indexszTestPeriodIndex.simple_indexé
rrrNéÿÿÿÿZ    index_incZ    index_dec)ÚparamsÚidscCs|jS©N)Úparam)rÚrequestrrrÚindexszTestPeriodIndex.indexcCsdSrrrrrrÚ
test_where%szTestPeriodIndex.test_wherecCs,tdddd}td|d}t|tƒs(t‚dS)NÚAú1/1/2001ú    12/1/2009©rÚstartÚendé)r!)r
rÚ
isinstanceÚAssertionError)rr!ZseriesrrrÚtest_make_time_series)s z%TestPeriodIndex.test_make_time_seriescCsÈtgdd}tjgtjd}t | d¡|¡t |j|¡tdtgdd}tjddgtjd}t | d¡|¡t |j|¡tjddgtjd}td    tgd
d}t | d¡|¡t |j|¡dS) NÚM©r©ÚdtypeÚi8ú2011-01éììûÿÿÿé:ú
2011-01-01r)    rÚnpÚarrayÚint64ÚtmÚassert_numpy_array_equalÚviewÚasi8r©rÚidxÚexprrrÚtest_view_asi8.s zTestPeriodIndex.test_view_asi8cCs.tgdd}tjgtd}t |j|¡t | ¡|¡tjgtjd}t |j    |¡tdt
gdd}tjt dddt
gtd}t |j|¡t | ¡|¡tjddgtjd}t |j    |¡tdt
gdd}tjt dddt
gtd}t |j|¡t | ¡|¡tjd    dgtjd}t |j    |¡dS)
Nr-r.r/r2r3r4r6rr5) rr7r8Úobjectr:r;ÚvaluesZto_numpyr9r=rrr>rrrÚ test_values@s$ zTestPeriodIndex.test_valuesc    Csttdddd}t|ƒdkst‚tdddd}t|ƒdks<t‚tdddd}t|ƒd    ksZt‚td
d ƒ}t|d d }t|ƒd ks€t‚|j|jkst‚|d|ks t‚tddƒ}t|dd}t|ƒdksÆt‚|j|jksÖt‚|d|ksæt‚tddƒ}t|dd}t|ƒt|ƒkst‚||k ¡s$t‚|j|jks6t‚d}tjt|dt||dW5QRXtdd ƒ}t||d}d}tjt|dt|dW5QRXt    |tdd ƒgƒ}t|ƒdksÂt‚|d|ksÔt‚t    t
  |tdd ƒg¡ƒ}t|ƒdksþt‚|d|kst‚|tddƒg}d}tjt |dt    |ƒW5QRXt
  |¡}tjt|dt    |ƒW5QRXdS)Nr#r$r%r&é    ÚQé$r-élz 02-Apr-2005ÚBé)r'rrú
2006-12-31ÚWr©r(rrZ1wz!start and end must have same freq©Úmatch)r'r(z
2005-05-01zOOf the three parameters: start, end, and periods, exactly two must be specified)r'z
2005-05-05éÚwz9Input has different freq=W-SUN from PeriodIndex\(freq=B\)) r
Úlenr+rrÚallÚpytestÚraisesÚ
ValueErrorrr7r8r)rÚpir'Úi1Úend_intvÚi2ÚmsgÚvalsrrrÚtest_period_index_lengthZsV
 
 
 
 ÿ
z(TestPeriodIndex.test_period_index_lengthcCsätdddd}| |¡tdddd}| |¡tdddd}| |¡td    d
d d}| |¡td d
d d}| |¡td ddd}| |¡tdddd}| |¡tdddd}| |¡tddƒ}t|dd}| |¡dS)Nr#r$z    12/1/2005r&rFz    12/1/2002r-z1/1/2002rz    12/1/2001z6/1/2001rIÚHz
12/31/2001z1/1/2002 23:00ZMinz1/1/2002 00:20ÚSz12/31/2001 00:00:00z12/31/2001 00:05:00rKrLrrM)r
Ú_check_all_fieldsr)rrWrYrXrrrÚ test_fields–s.
 
 
 
 
 
 
ÿ
 
 zTestPeriodIndex.test_fieldsc
CsØddddddddd    d
d d d ddg}t|ƒ}t|ƒ}|D]œ}t||ƒ}t|ƒt|ƒksXt‚t||ƒD]\}}t||ƒ|ksbt‚qbt|ƒdkrŒq6t|j|ƒ}    t|ƒt|    ƒks¬t‚t||    ƒD]\}}t||ƒ|ks¶t‚q¶q6dS)NÚyearÚmonthÚdayÚhourÚminuteÚsecondZ
weekofyearÚweekZ    dayofweekZ day_of_weekZ    dayofyearZ day_of_yearZquarterZqyearZ days_in_monthr)ÚlistrÚgetattrrRr+ÚzipÚdt)
rZ periodindexÚfieldsrZserÚfieldZ    field_idxÚxÚvalZfield_srrrr`¸s:ñ
  z!TestPeriodIndex._check_all_fieldscCsôdd„}|ƒ}| |¡st‚| |ƒ¡r,t‚| | ¡¡s>t‚| | ¡ ¡ ¡ ¡ ¡¡s`t‚| ¡ |¡srt‚| ¡}d|_| |¡sŽt‚| |dd…¡r¤t‚| | d¡¡r¸t‚| | d¡¡rÌt‚| |d¡rÞt‚| |d¡rðt‚dS)NcSstddddS)Nr#r$r%r&rrrrrÚ<lambda>Ýóz*TestPeriodIndex.test_is_.<locals>.<lambda>ZAppler-r#rPr)Úis_r+r<ÚnameZasfreq)rZ create_indexr!Zind2rrrÚtest_is_Üs"zTestPeriodIndex.test_is_cCsLtdddddgdd}tdddgdd}t | ¡|¡| ¡dksHt‚dS)NiÐé×éÙzA-JUNr.é)rr:Úassert_index_equalÚuniqueZnuniquer+)rr?ÚexpectedrrrÚtest_index_uniqueîsz!TestPeriodIndex.test_index_uniquecCsdSrrrrrrÚ
test_shiftôszTestPeriodIndex.test_shiftcCsRtdddtdddtdddgdd}tt dddg¡dd}t ||¡dS)Niüÿÿr#)Úordinalrrrr))rrr7r8r:ry)rZidx1Zidx2rrrÚtest_negative_ordinalsøs
  z&TestPeriodIndex.test_negative_ordinalscCsltdddddgddd}td    d    d
d d gtjdd }t |j|¡td dd
ddgtjdd }t |j|¡dS)Nr2z2011-02rz2012-03z2012-04rrt)rrtiÛriÜ)r0rtr)rPrxé)rrr7r9r:ryrbrcr>rrrÚtest_pindex_fieldaccessor_nats ÿz-TestPeriodIndex.test_pindex_fieldaccessor_natcCs”tddddddgdd}td    d
dd }t ||¡|jt d ¡ksFt‚|jdksTt‚td    d dd}t ||¡|jt d ¡ks‚t‚|jdkst‚dS)Nr2z2011-03z2011-05z2011-07z2011-09z2011-11Z2Mr.z1/1/11z12/31/11)r'r(rrPé©r'rr)    rr
r:ryrr    ZMonthEndr+Zfreqstr)rr{rWrrrÚtest_pindex_multiples
sþ  z%TestPeriodIndex.test_pindex_multiplescCs@tdddd}t|ƒ}t|dtƒs(t‚|dj|jks<t‚dS)Nz1/1/10r€rIrƒr)r
rir*rr+r)rr!ÚresultrrrÚtest_iterationszTestPeriodIndex.test_iterationcCsftdddd}|jdd|jg}tddd    d
g|ƒ}t|jjdtƒsHt‚t|jj    ddt
ƒsbt‚dS) Nz1/1/2012r€Z12Hrrr.rr)rPrx) rZ    to_periodrerr*r!Úlevelsrr+rCr)rr!Zindex_as_arraysÚsrrrÚtest_with_multi_index!s
z%TestPeriodIndex.test_with_multi_indexcCsBtdddgdd}| dd„¡}tdd    „|Dƒƒ}t ||¡dS)
NiÕrvrwr#r.cSs|jSr©r~)rorrrrq0rrz*TestPeriodIndex.test_map.<locals>.<lambda>cSsg|]
}|j‘qSrrŠ)Ú.0rorrrÚ
<listcomp>1sz,TestPeriodIndex.test_map.<locals>.<listcomp>)rÚmaprr:ry)rr!r…r@rrrÚtest_map,szTestPeriodIndex.test_mapcCs8|jgdd}| ¡gkst‚|jdddgks4t‚dS)Nr#r.T)rtÚ)Ú
_index_clsÚformatr+)rZ    empty_idxrrrÚtest_format_empty4sz!TestPeriodIndex.test_format_empty)Ú__name__Ú
__module__Ú __qualname__rrrTZfixturerrr:ZmakePeriodIndexr
r!r"r,rArDr]rar`rur|r}rrr„r†r‰rŽr’rrrrr s6þû
<"$
 r c    Csrtddgdd}t d¡}| |¡dks,t‚| d¡dks>t‚t ¡}d}tjt|d| |¡W5QRXdS)NÚ2000Z2001rr.rPz5Input has different freq=B from PeriodIndex\(freq=D\)rN)    rr    ZDayZ_maybe_convert_timedeltar+Z BusinessDayrTrUrV)rWÚoffsetr[rrrÚtest_maybe_convert_timedelta;s
r˜r8TFc
Cstddgdd}|r|j}tj|d|dgtd}t |¡}t ||¡t |¡}t ||¡|j}dd    tj    fD]8}tj||d}t ||¡tj||d}t ||¡qrd
D]^}d }t
j t |d tj||dW5QRXt
j t |d tj|t t|ƒdW5QRXq°dS) Nz
2000-01-01z
2001-01-01rr.rr)r/r1r9)Úfloat64Úint32Zuint64zargument must berN)rÚ_datar7r8rBr:r;Zasarrayr=r9rTrUÚ    TypeErrorrj)r8Úobjr{r…r0r[rrrÚtest_dunder_arrayGs(
 
  rž)Únumpyr7rTZpandas._libs.tslibs.periodrZpandasrrrrrrr    r
Zpandas._testingZ_testingr:Z!pandas.tests.indexes.datetimeliker r r˜ÚmarkZ parametrizeržrrrrÚ<module>s (
 )