zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
U
­ý°dºQã@s–ddlZddlZddlmZddlmZddlmZm    Z    m
Z
m Z m Z m Z mZmZddlmZddlmZGdd„dƒZGdd    „d    ƒZGd
d „d ƒZdS) éN)ÚIncompatibleFrequency)Ú PeriodDtype)ÚIndexÚNaTÚPeriodÚ PeriodIndexÚSeriesÚ
date_rangeÚoffsetsÚ period_range)Ú PeriodArrayc@s–eZdZdd„Zdd„Zej dee    j
e e j g¡dd„ƒZdd    „Zd
d „Zd d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zej ddddg¡dd„ƒZd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zej d.d/d0ge     
d/d0g¡g¡d1d2„ƒZ d3d4„Z!d5d6„Z"d7d8„Z#ej d9d:d;d<d=d>g¡ej d?d@dAdBdCdDg¡dEdF„ƒƒZ$dGdH„Z%dIdJ„Z&ej d9d;dKd:d<dLd=d>dMdNdOdPg ¡dQdR„ƒZ'dSdT„Z(dS)UÚTestPeriodIndexcCsðtdddttdddg}t t|ƒt|ƒ¡t tt |¡ƒtt |¡ƒ¡tjttdddg}t t|ƒt|ƒ¡t tt |¡ƒtt |¡ƒ¡tdddttdddg}t t|ƒt|t    d¡t tt |¡ƒtt |¡t    d¡dS)Nú2011-01ÚM©Úfreqú2011-03ÚD©Údtype)
rrÚtmÚassert_index_equalrrÚnpÚarrayÚnanÚobject)ÚselfÚarr©rúdd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/period/test_constructors.pyÚ"test_construction_base_constructors  z2TestPeriodIndex.test_construction_base_constructorcCs:tdƒ}dddg}t||d}t||d}t ||¡dS)Nrú
2011-01-01z
2012-03-04z
2014-05-01r)rrrrr)rrÚvaluesÚresultÚexpectedrrrÚ'test_base_constructor_with_period_dtype&s
 
  z7TestPeriodIndex.test_base_constructor_with_period_dtypeÚvalues_constructorcCsVtdddttdddg}||ƒ}t|td}t|ƒtks>t‚t |jt     
|¡¡dS)Nrrrrr) rrrrÚtypeÚAssertionErrorrÚassert_numpy_array_equalr"rr)rr&Úperiodsr"r#rrrÚtest_index_object_dtype.s
 
ý z'TestPeriodIndex.test_index_object_dtypecCs6tddd}tdddd}t|dd}t ||¡dS)Nz4/2/2012ÚBré
©Ústartr*r©r/r*)rr rr)rÚpr$ÚindexrrrÚtest_constructor_use_start_freq>s  z/TestPeriodIndex.test_constructor_use_start_freqc
    Cs:t dd¡ d¡dd…}t t dd¡d¡dd…}t||d    d
}td d d    d }t ||¡t||dd
}t |j    |j    ¡t||d}t ||¡dddg}ddg}d}t
j t |dt||ddW5QRXt
j t |dt||ddW5QRXdddg}dddg}t||dd}tdddd}    t ||    ¡dS)NiÆiÚéééþÿÿÿéééúQ-DEC©ÚyearÚquarterrZ1990Q3Z2009Q2rz2Q-DEC©r<r=é×zMismatched Period array lengths©Úmatchr)r<ÚmonthrÚ2Méú2007-01©r*r) rÚarangeÚrepeatÚtilerr rrr)Úasi8ÚpytestÚraisesÚ
ValueError)
rÚyearsÚquartersr2r$Úindex2ÚmonthsÚmsgÚidxÚexprrrÚtest_constructor_field_arraysFs*   
 
 
z-TestPeriodIndex.test_constructor_field_arraysc    Cs,tjtddtddddW5QRXdS)NzInvalid frequency: Xr@z2007-1-1iôÚXrF©rKrLrMr )rrrrÚtest_constructor_Uesz"TestPeriodIndex.test_constructor_UcCsbttdddtddddd}ttdddtdddtdddtdddgdd}t ||¡dS)    Nr7ÚN)Zordinalrr4©r/Úendrr5rDr)r rrrr©rrSrTrrrÚtest_constructor_nanojs
 
ÿ
 
 
 
üù    z%TestPeriodIndex.test_constructor_nanocCsltjddtjd d¡}t tjddddgtjdd¡}t||d    }t |j    t
|ƒ¡t |j t
|ƒ¡dS)
Ni¨éÐrr4r7r5rDé(r>) rrGÚint64rHrIrrrrr<rr=)rrNrOZpindexrrrÚ%test_constructor_arrays_negative_yearys
  z5TestPeriodIndex.test_constructor_arrays_negative_yearc    Cs>d}tjt|d"ttddƒttdƒƒddW5QRXdS)NzQuarter must be 1 <= q <= 4r@r^iÔr4r:r;)rKrLrMrÚrangeÚlist©rrRrrrÚ!test_constructor_invalid_quarters‚sz1TestPeriodIndex.test_constructor_invalid_quarterscCs,tdddd}tdddd}t ||¡dS)NrEg%@rrFr-)r rr)rr#rTrrrÚtest_constructor_corner‡sz'TestPeriodIndex.test_constructor_cornerc    Cs°tdddd}t t|jƒ|¡t tt|jƒƒ|¡d}tjt|dt|j    ƒW5QRXtjt|dtt|j    ƒƒW5QRXd}tjt
|dtt dd    d
d W5QRXtt |ƒƒ}t ||¡t|ƒ}t ||¡t|dd
}t ||¡t|t  ¡d
}t ||¡|jdks&t‚t|d d
}t || d ¡¡|jd ksTt‚t|t  d ¡d
}t || d ¡¡|jd ksˆt‚t|dd
}| dd¡}t ||¡dS)NrEr9rrFz)freq not specified and cannot be inferredr@z'Period' object is not iterableZ2007ÚAr)ÚdatarCr5rÚe)r rrrr"rcrKrLrMrJÚ    TypeErrorrÚiterr
ZMonthEndrr(Zasfreq)rrSrRr#rTrrrÚtest_constructor_fromarraylikeŒs:         z.TestPeriodIndex.test_constructor_fromarraylikecCsRtjdddtjd}| t d¡¡}t|dd}t| d¡dd}t ||¡dS)    Ni †i°­édrzM8[us]rrzM8[ns])    rrGr`ÚviewrrZastyperr)rÚvalsÚpir$rrrÚtest_constructor_datetime64arr¶s
 z.TestPeriodIndex.test_constructor_datetime64arrÚboxNÚseriesr2cCs^tdddd}|dkr|j}n|dkr.t|ƒ}t|dd}tdd    d
d gdd}t ||¡dS) NZ2017r4rrFrsrrz
2017-01-31z
2017-02-28z
2017-03-31z
2017-04-30)r    Z_valuesrrrr)rrrrhr#r$rrrÚ!test_constructor_datetime64arr_ok¿s 
ÿz1TestPeriodIndex.test_constructor_datetime64arr_okc    Cstddgdd}tddgdd}t ||¡|jdks:t‚tddgd    d}tddgd
d}t ||¡|jd    kstt‚td d gd d}t|dd}tddgdd}t ||¡|jdksºt‚t|dd}t ||¡|jdksàt‚d}tjt|dtdgdddW5QRXdS)Nz2013-01z2013-03z    period[M]rrrz
2013-01-05z
2013-03-05z
period[3D]Ú3Dz
2013-01-01z
2013-01-02rz&specified freq and dtype are differentr@rz    period[D])rr)rrrrr(rKrLr)rrSrTÚresrRrrrÚtest_constructor_dtypeÎs&      z&TestPeriodIndex.test_constructor_dtypec    Cs^tgdd}t|tƒst‚t|ƒdks*t‚|jdks8t‚tjtddtgƒW5QRXdS)Nrrrúfreq not specifiedr@)rÚ
isinstancer(ÚlenrrKrLrM)rrSrrrÚtest_constructor_emptyës  z&TestPeriodIndex.test_constructor_emptyc
Cs¦ttdddttdddgƒ}tdddgdd}t ||¡tt tdddttdddg¡ƒ}t ||¡ttttdddtdddgƒ}tddddgdd}t ||¡tt tttdddtdddg¡ƒ}t ||¡tttddgdd}t ||¡tjt    ddtttgƒW5QRXtjt    ddtt ttg¡ƒW5QRXtjt    ddtddgƒW5QRXtjt    ddtt ddg¡ƒW5QRXdS)Nrrrrrxr@)
rrrrrrrrKrLrMr\rrrÚtest_constructor_pi_natôs<ÿ ÿ ÿ ÿÿ  z'TestPeriodIndex.test_constructor_pi_natc
Csôd}tjt|d$ttdddttdddgƒW5QRXtjt|d*tt tdddttdddg¡ƒW5QRXtjt|d$tttdddtdddgƒW5QRXtjt|d*tt ttdddtdddg¡ƒW5QRXdS)Nz5Input has different freq=D from PeriodIndex\(freq=M\)r@rrrr)rKrLrrrrrrrdrrrÚtest_constructor_incompat_freqs"(ÿÿ(ÿÿz.TestPeriodIndex.test_constructor_incompat_freqcCs tdttdddgƒ}tdddgdd}t ||¡tdttdddgƒ}tdddgdd}t ||¡ttdddtdgƒ}tdddgdd}t ||¡dS)Nrrrrr!rz
2012-01-01)rrrrrr\rrrÚtest_constructor_mixed4s  z&TestPeriodIndex.test_constructor_mixedc    CsÄtddddd}tjtdd|j|ddW5QRX|j|jdd}t ||¡d    }tjt|d"t|jƒjt    |j
ƒ|j d
W5QRXt|jƒj|j
|j d
}|j|dd}t ||¡dS) NrEr1r5r)Únamer*rú<class .*PeriodIndex'>r@©rz Should be numpy array of type i8r) r rKrLr(Ú _simple_newÚ_datarrr'rrJr)rrSr#rRrrrrÚtest_constructor_simple_newAs &z+TestPeriodIndex.test_constructor_simple_newc    CsVtgddd}tjtdd|j|ddW5QRX|j|jdd}t ||¡dS)Nrr1)rrr€r@r)rrKrLr(r‚rƒrr)rrSr#rrrÚ!test_constructor_simple_new_emptySs
z1TestPeriodIndex.test_constructor_simple_new_emptyÚfloatsgš™™™™™ñ?gÍÌÌÌÌÌ@c    CsNtjtddt |¡W5QRXd}tjt|dt|ƒW5QRXdS)Nz<class r@z9PeriodIndex does not allow floating point in construction)rKrLr(rr‚rj)rr†rRrrrÚtest_constructor_floats\s
z'TestPeriodIndex.test_constructor_floatsc    CsXd}tjt|dtddddW5QRXtjt|dtddddW5QRXdS)Nzstart and end must not be NaTr@rr!rrZrWrdrrrÚtest_constructor_nates
z$TestPeriodIndex.test_constructor_natcCs\tdddgƒ}|d}t||d}dd„t||ƒDƒ}ttt|ƒƒ}t|ƒ}t ||¡dS)NiÑiÒiÓr^r>cSs&g|]}|dd›d|dd›‘qS)rÚdÚQr7r)Ú.0ÚtrrrÚ
<listcomp>pszETestPeriodIndex.test_constructor_year_and_quarter.<locals>.<listcomp>)rrÚziprcÚmaprrr)rr<r=rSÚstrsZlopsr1rrrÚ!test_constructor_year_and_quarterls z1TestPeriodIndex.test_constructor_year_and_quarterc    Cstdddd}tddddgdd}t ||¡td    d
d d }td    d dddgd d}t ||¡tdddd}tdddgdd}t ||¡d}tjt|dtdgddW5QRXd}tjt|dtdgddW5QRXd}tjt|dtddddW5QRXdS)Nz2014-01rCr4©r/rr*z2014-03z2014-05z2014-07rz
2014-01-02z
2014-01-15rurZz
2014-01-05z
2014-01-08z
2014-01-11z
2014-01-14z2014-01-01 17:00Z4HrD)r[rr*z2014-01-01 09:00z2014-01-01 13:00z;Frequency must be positive, because it represents span: -1Mr@rz-1Mz:Frequency must be positive, because it represents span: 0MZ0MrF)r rrrrKrLrM)rÚpidxr$rRrrrÚtest_constructor_freq_multus0  þ ÿ z*TestPeriodIndex.test_constructor_freq_multrrgrrÚTÚSÚmultr7r5rDr4r8cCs>t|ƒ|}td|dd}td|dd |¡}t ||¡dS)Nz
2014-04-01r-r’)Ústrr r    Z    to_periodrr)rr—rZfreqstrr“r$rrrÚ%test_constructor_freq_mult_dti_compat”s  ÿz5TestPeriodIndex.test_constructor_freq_mult_dti_compatcCsbdD]$}tddg|d}tddgdd}qdD].}tdd|d    }tdd
gdd}t ||¡q.dS) N)Z1D1HZ1H1Dz
2016-01-01z
2016-01-02rz2016-01-01 00:00z2016-01-02 00:00Z25Hr5r.z2016-01-02 01:00)rr rr)rrr“r$rrrÚtest_constructor_freq_combinedžsz.TestPeriodIndex.test_constructor_freq_combinedc    Csètdddd}t|ƒdkst‚tdddd}t|ƒdks<t‚tdddd}t|ƒd    ksZt‚td
dd d}t|ƒd ksxt‚td dd d}t|ƒdks–t‚tdddd}t|ƒdks´t‚tdddd}t|ƒdksÒt‚tdddd}t|ƒdksðt‚tdd ƒ}t|dd}t|ƒdkst‚|j|jks*t‚|d|ks<t‚tddƒ}t|dd}t|ƒdksdt‚|j|jksvt‚|d |ksˆt‚tdd!ƒ}t|dd}t|ƒt|ƒks´t‚||k ¡sÆt‚|j|jksØt‚td"d ƒ}t||d#}t|td$d ƒgƒ}t|ƒd%kst‚|d|ks$t‚tt |td$d ƒg¡ƒ}t|ƒd%ksNt‚|d|ks`t‚|tdd&ƒg}d'}t    j
t |d(t|ƒW5QRXt |¡}t    j
t |d(t|ƒW5QRXt    j
t d)d(tdd*ƒW5QRXdS)+Nrgz1/1/2001z    12/1/2009)rr/r[é    rŠé$rélrz
12/31/2009i× r,i-    ÚHz12/31/2001 23:00i8"ZMinz1/1/2001 23:59i r–z1/1/2001 23:59:59i€Qz 02-Apr-2005r9r0rz
2006-12-31ÚWr-)r[r*éÿÿÿÿZ1wz
2005-05-01)r/r[z
2005-05-05r5Úwz9Input has different freq=W-SUN from PeriodIndex\(freq=B\)r@zpass as a string instead)r¡r7) r rzr(rrÚallrrrrKrLrrj)rrpr/Úi1Zend_intvÚi2rorRrrrÚtest_constructor§s`
 
 
 
 
z TestPeriodIndex.test_constructorrŠr,ÚLÚUrYržcCs,td|dd}t|j|d}t ||¡dS)Nz
2001/04/01r7r’r)r rr"rr)rrÚorgrSrrrÚtest_recreate_from_dataësz'TestPeriodIndex.test_recreate_from_datacCsfdddg}t|dd}tdd„|Dƒƒ}| t¡}t|tƒs@t‚tdd    „|DƒƒsVt‚t ||¡dS)
NiÕr?iÙrgrcSsg|] }t|ƒ‘qSr)r˜)r‹Únumrrrr÷szDTestPeriodIndex.test_map_with_string_constructor.<locals>.<listcomp>css|]}t|tƒVqdS)N)ryr˜)r‹ZresirrrÚ    <genexpr>þszCTestPeriodIndex.test_map_with_string_constructor.<locals>.<genexpr>)    rrrr˜ryr(r¢rr)rÚrawr2r$rvrrrÚ test_map_with_string_constructorós
 
z0TestPeriodIndex.test_map_with_string_constructor))Ú__name__Ú
__module__Ú __qualname__r r%rKÚmarkZ parametrizercrrrr Z_from_sequencer+r3rUrXr]rarerfrlrqrtrwr{r|r}r~r„r…r‡rˆr‘r”r™ršr¥r©r­rrrrr sRÿ
    *    
    (     
         Dÿ
r c@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestShallowCopycCs(tgdd}| ¡}|}t ||¡dS)Nrr)rZ_viewrr)rrSr#r$rrrÚtest_shallow_copy_emptys z'TestShallowCopy.test_shallow_copy_emptyc    Cs8tdddd}tjtdd| |j¡W5QRXdS)Nú
2018-01-01rDÚ2DrFZndarrayr@)r rKrLr(Ú _shallow_copyrJ©rrprrrÚtest_shallow_copy_disallow_i8 sz-TestShallowCopy.test_shallow_copy_disallow_i8c    Cs6tdddd}tjtdd| |¡W5QRXdS)Nr´rDrµrFrr@)r rKrLr(r¶r·rrrÚ0test_shallow_copy_requires_disallow_period_indexsz@TestShallowCopy.test_shallow_copy_requires_disallow_period_indexN)r®r¯r°r³r¸r¹rrrrr²sr²c@seZdZdd„Zdd„ZdS)ÚTestSeriesPeriodc    Cs8d}tjt|dttddddtdW5QRXdS)Nz(Cannot cast PeriodIndex to dtype float64r@z
2000-01-01r-rrFr)rKrLrjrr ÚfloatrdrrrÚ!test_constructor_cant_cast_periodsz2TestSeriesPeriod.test_constructor_cant_cast_periodcCs8ttdddtdƒd}ttdddƒ}t ||¡dS)Nz1/1/2000r-)r*rr)rr rrZassert_series_equal)rÚsrTrrrÚtest_constructor_cast_objectsz-TestSeriesPeriod.test_constructor_cast_objectN)r®r¯r°r¼r¾rrrrrºsrº)ÚnumpyrrKZpandas._libs.tslibs.periodrZpandas.core.dtypes.dtypesrZpandasrrrrrr    r
r Zpandas._testingZ_testingrZpandas.core.arraysr r r²rºrrrrÚ<module>s  (
 q