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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
U
­ý°d¨oã    @sddlmZddlmZddlZddlZddlmZmZddl    Z
ddl    m Z m Z m Z mZmZmZmZmZmZmZmZmZddlmZe ¡dd„ƒZGdd    „d    ƒZej d
d d gefe
j d ddde
j!ddfg¡dd„ƒZ"dd„Z#dd„Z$dd„Z%dd„Z&dd„Z'dd„Z(d d!„Z)dS)"é)Údatetime)ÚproductN)Úis_float_dtypeÚis_integer_dtype) Ú CategoricalÚCategoricalIndexÚ    DataFrameÚIndexÚIntervalÚ IntervalIndexÚ
MultiIndexÚ
RangeIndexÚSeriesÚ    TimestampÚcutÚ
date_rangecCs.ddgddgg}tddgddggt |¡d    S)
NÚAÚÚBÚbrééé©Úcolumns)rr Ú from_tuples)Úlevels©rúbd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_reset_index.pyÚ multiindex_dfsrc @sjeZdZdd„Zdd„Zdd„Zdd„Zej     d    d
d g¡d d „ƒZ
dd„Z dd„Z dd„Z ej     dddgddgg¡dd„ƒZej     dddgdgg¡dd„ƒZdd„Zd d!„Zd"d#„Zej     d$d%d&d'd(e d)¡ed*d+d,d-g¡d.d/„ƒZd0d1„Zd2d3„Zej     d4d5d6g¡ej     d7d5d6g¡d8d9„ƒƒZej     d4d5d6g¡d:d;„ƒZej     d7d<g¡d=d>„ƒZd?d@„ZdAdB„ZdCdD„ZdEdF„Zej     dGej dfej d'fgej ej gdd'gdHdIgdJœfej dfedKƒd'fgej edKƒgdd'gdHdIgdJœfej dfe dLdM¡d'fgej e dLdM¡gdd'gdHdIgdJœfg¡dNdO„ƒZ!ej     dPddddgddddggdddQdgddddggf¡dRdS„ƒZ"d%S)TÚTestResetIndexc    CsVtdgtjtdddddd}| |jdg¡}|jdgdd}tj||gdd    dS)
NZbrandrrÚfoo©Úname)rÚdtypeÚindexT©Údrop)Zcheck_index_type)    rÚnpÚint64r Ú    set_indexr%Ú reset_indexÚtmÚassert_frame_equal)ÚselfÚdfÚdf2ÚresultrrrÚ!test_reset_index_empty_rangeindex%sÿz0TestResetIndex.test_reset_index_empty_rangeindexcCsdtdddgdd}tdddd    gi|d
}| ¡}|djt d ¡ksHt‚| d¡}t |j    |¡dS) Nlll
r!r"rrrr©r%Zuint64)
r    rr+r$r(ÚAssertionErrorr*r,Úassert_index_equalr%©r.Úidxr/r1rrrÚtest_set_reset0s 
zTestResetIndex.test_set_resetcCsbttdddddd}tddd    d
gi|d }| ¡}|djd ksFt‚| d¡}t |j    |¡dS) NÚ20130101rú
US/Eastern©ÚperiodsÚtzr!r"rrrrr3zdatetime64[ns, US/Eastern])
r    rrr+r$r4r*r,r5r%r6rrrÚ!test_set_index_reset_index_dt64tz;s 
z0TestResetIndex.test_set_index_reset_index_dt64tzc    s¾|‰tdddˆdd}ttdƒddddd    gd
œ|d }ttd d d ƒtd d dƒtd d dƒtd d dƒtd d dƒgtdƒddddd    gdœdddgd}|d ‡fdd„¡|d<t | ¡|¡dS)Nú1/1/2011éÚDr7©r<Úfreqr=r#rrÚCÚE©Úarr3éÛrrré)r7rGrrGrrcs t|ˆdS©N©r=©r©ÚdrKrrÚ<lambda>[óz4TestResetIndex.test_reset_index_tz.<locals>.<lambda>)rrÚrangerÚapplyr,r-r+)r.Ztz_aware_fixturer7r/ÚexpectedrrKrÚtest_reset_index_tzFs" 
 
 
 
 
û ÷ ôz"TestResetIndex.test_reset_index_tzr=r:zdateutil/US/EasterncCsRtdd|d}ttj t|ƒ¡|ƒ}| ¡ d¡}|jj    }|jj    }||ksNt
‚dS)Nz
2012-06-02é
r;r%) rrr(ÚrandomÚrandnÚlenr+r*r%r=r4)r.r=Zdrr/Z roundtrippedÚxpÚrsrrrÚ$test_frame_reset_index_tzaware_index^s z3TestResetIndex.test_frame_reset_index_tzaware_indexcCsttjt d¡dd}t|t d¡dœƒddg}| d¡}tdt d¡i|d}t ||¡| ¡}t ||¡dS)Né Úxr"rU)r]Úyr^r3)    r Z from_breaksr(Úarangerr*r,r-r+)r.r7Úoriginalr1rSZresult2rrrÚtest_reset_index_with_intervalsgs
 z.TestResetIndex.test_reset_index_with_intervalscCs¨| ¡ddd…}t||dœƒ}ddg}||j_| ¡}tt|jj|jjƒƒD]2\}\}}|     |¡}||}    t
  |t ||    ƒ¡qNddg|j_| ¡}
t
j |d|
dddt
j |d|
ddd| ¡} t|jjd    d
} t
  | d    | ¡| ¡} d | d    <|  ¡} t|jjdd
} t
  | d| ¡d    |j_| ¡}t
  |d    t|jƒ¡t
j |jt tt|ƒƒƒd d d|j_| ¡}|jjdksŒt‚| ¡ d    ddg¡} |  ddg¡}t
 ||¡|  d    ddg¡}t
 || ¡¡|  d    ddg¡}t
 || ¡¡|  d¡}| ¡ d    dg¡}t
 ||¡| ¡} | ¡}| jd d}|dksLt‚t
 | |¡| ¡ d    ddg¡} | jdd d}| ¡}|d=|jdgd d}t
 ||¡dS)Nr©r!ÚbarÚfirstÚsecondÚlevel_0F©Z check_namesÚlevel_1r%r"r!T)Úexactrrr©Zinplacer&©Úappend)Ústackrr%Únamesr+Ú    enumerateÚziprÚcodesZtaker,r5r    Úassert_series_equalrÚvaluesÚcopyr#rQrXrr4r*r-)r.Ú float_frameZstackedrnÚ    deleveledÚiZlevZ level_codesrsr#Z
deleveled2ÚrdfÚexpr/ÚresetrZrYÚ return_valuerrrÚtest_reset_indexrsvÿ
 ÿÿ 
   zTestResetIndex.test_reset_indexcCsŽtddddgddddggd    d
d d gttdƒd dd}| ¡jjdksJt‚|jddjjdksbt‚|jdd}|dkszt‚|jjdksŠt‚dS)NrrrrIr@ééérrrDrAr]r"©rr%Tr&rj)rr    rQr+r%r#r4)r.r/r{rrrÚtest_reset_index_name¾s
ý  z$TestResetIndex.test_reset_index_namerrrrrcCsNtddddgddddggd    d
d d gd }| d    d
g¡j|dd}t || d
¡¡| d    d
g¡j|dd…d}t || d
¡¡| d    d
g¡j|d}t ||¡| d    d
g¡j|dd}t ||d d g¡| d    ¡j|dd}t ||¡| d    ¡j|dd…d}t ||¡| d    g¡j|ddd}t ||d
d d g¡dS)NrrrrIr@r}r~rrrrDrArr©ÚlevelT)rƒr')rr*r+r,r-)r.rr/r1rrrÚtest_reset_index_levelÊs(   z%TestResetIndex.test_reset_index_levelÚidx_levc    CsŽtddddgddddggd    d
d d gd }tjtdd| |¡jd    dgdW5QRXtjtdd| |¡jdddgdW5QRXdS)NrrrrIr@r}r~rrrrDrArz(L|l)evel \(?E\)?©ÚmatchrEr‚zToo many levelsr)rÚpytestÚraisesÚKeyErrorr*r+Ú
IndexError)r.r…r/rrrÚtest_reset_index_level_missingås
( z-TestResetIndex.test_reset_index_level_missingcCs~t ddt d¡d¡}td|ddt|dddd}t|ƒ}| ¡}|djtjks^t    ‚| ¡}|djtjkszt    ‚dS)    NçrUrg…ëQ¸ž#@Útimer"Úspeed)r%r#)
r(r_Úsqrtrr    rr+r$Úfloat64r4)r.rŽÚs1r/rzrrrÚtest_reset_index_right_dtypeïs
ÿz+TestResetIndex.test_reset_index_right_dtypecCstj dd¡ t¡}dddg}t dd„|Dƒ|f¡}t|t|ddd    d    d
gd d d ggd }| ¡}t|dd    d    d
gdd d d ggd }t     
||¡|jdd}t|dd    d    d
gdd d d ggd }t     
||¡|jddd}t|dd    d    d
gdd d d ggd }t     
||¡t|t j dddgdddggddgdd    d    d
gd d d ggd }| d¡}t|tdddgdddd    d    d
gdd d d ggd }t     
||¡|jddd}t|tt dƒdddd    d    d
gdd d d ggd }t     
||¡|jdddd}t|tt dƒdddd    d    d
gdd d d ggd }t     
||¡dS)Nrr]r^ÚzcSsg|]
}|g‘qSrr)Ú.0r]rrrÚ
<listcomp>ÿszBTestResetIndex.test_reset_index_multiindex_col.<locals>.<listcomp>rGr"rÚcZmeanZmedianrr©Úcol_fillrZblah©Ú    col_levelr™rrrN©rn)r™r›)r(rVrWÚastypeÚobjectZhstackrr    r+r,r-r Ú from_arraysrQ)r.Úvalsr7Úfullr/rZrYrrrÚtest_reset_index_multiindex_colüsh
 
ýÿ  ÿ ÿ  ý
ý ý ýz.TestResetIndex.test_reset_index_multiindex_colcCstdddgddtjgtj d¡dœƒ}| dd    g¡ ¡}t ||¡ttjddgddd
gtj d¡dœƒ}| dd    g¡ ¡}t ||¡tdddgddd
gtjd d gdœƒ}| dd    g¡ ¡}t ||¡tdddgtjtjtjgtj d¡dœƒ}| dd    g¡ ¡}t ||¡dS) NrGrr—rrr)rrrDrrr皙™™™™ñ?gš™™™™™@)    rr(ÚnanrVZrandr*r+r,r-)r.r/rZrrrÚtest_reset_index_multiindex_nan4s* ÿ  ÿ $ 
ýÿz.TestResetIndex.test_reset_index_multiindex_nanr#Nr!rg@r}z
2012-12-30ÚUTCrKú
2012-12-31cCsºtddgddggtddƒddgd    }||j_| ¡}|dk    r@|nd
}t|td ddƒtd ddƒgƒ}t|tƒr€|d kr€|     d ¡}n|j
t ksŽt ‚tdddgdddgg|d}t  ||¡dS)NrrrrIz1/1/2013z1/2/2013rrr€r%éÝr§údatetime64[ns]r)rrr%r#r+r    rÚ
isinstanceÚstrrr$ržr4r,r-)r.r#r/r1ÚitemrrSrrrÚ(test_reset_index_with_datetimeindex_colsQs"ý þz7TestResetIndex.test_reset_index_with_datetimeindex_colscCsvtddgddggddgtddd}| ¡}t|jtƒs<t‚tdddgdddggdddgtddd}t ||¡dS)    Nrrrrr)Ústopr€r%)rr r+rªr%r4r,r-)r.r/r1rSrrrÚtest_reset_index_rangeus$ýz%TestResetIndex.test_reset_index_rangec    CsÀ|dg d¡ ¡}t ||¡d}tjt|d| d¡ ¡W5QRX| dg¡ ¡}t ||¡tdgdggt     
dg¡d    }t j ||d
dggdd }|jd
gd d  ¡}t ||¡d}tjt|d| dg¡ ¡W5QRXdddgdddgg}tddgddggt     
|¡d    }tdgdggt     
dg¡d    }t j ||gdd }| dg¡jdd}t ||¡tjtdd| dg¡jddW5QRX| dg¡jddd}t ||¡dS)Nrrú)cannot insert \('A', ''\), already existsr†)rrrr)rfrr)rr)ZaxisTrkz0Item must have length equal to number of levels.)rDr—rwrGrrrwrr)rDr—Úii)rDr—r±r˜zFcol_fill=None is incompatible with incomplete column name \('C', 'c'\))r—r±rDrš) Ú rename_axisr+r,r-rˆr‰Ú
ValueErrorr*rr rÚpdÚconcat)r.rr1ÚmsgZidx_colrSrr0rrrÚ#test_reset_index_multiindex_columnssB  
 
ÿ 
 
ÿ ýz2TestResetIndex.test_reset_index_multiindex_columnsÚflagFTÚallow_duplicatesc        Cs¬| d¡}|j|d}|rp|rp|j|d}ddgddgddgg}tdddgd    d    d
ggt |¡d }t ||¡n8|s~|r~d }nd }tj    t
|d|j|dW5QRXdS)Nr©Zallows_duplicate_labels©r¹rrrrrrrrzYCannot specify 'allow_duplicates=True' when 'self.flags.allows_duplicate_labels' is Falser°r†) r²Ú    set_flagsr+rr rr,r-rˆr‰r³)    r.rr¸r¹r/r1rrSr¶rrrÚ(test_reset_index_duplicate_columns_allow³s 
  ÿÿz7TestResetIndex.test_reset_index_duplicate_columns_allowc    Cs@| d¡}|j|d}d}tjt|d| ¡W5QRXdS)Nrrºr°r†)r²r¼rˆr‰r³r+)r.rr¸r/r¶rrrÚ*test_reset_index_duplicate_columns_defaultÎs
 
 z9TestResetIndex.test_reset_index_duplicate_columns_defaultz    bad valuec    Cs*tjtdd|j|dW5QRXdS)Nzexpected type boolr†r»)rˆr‰r³r+)r.rr¹rrrÚ'test_reset_index_allow_duplicates_check×sz6TestResetIndex.test_reset_index_allow_duplicates_checkc     sÚ|‰tdddˆdd}ttdƒddd}t ||g¡}ttjddd    d
d d dd gdœ|d}ttdddƒtdddƒtdddƒtdddƒtdddƒgtjddd    tjddd    d
d d dd gdœddddgd}|d     ‡fdd„¡|d<t
  |  ¡|¡tdddddd}t |||g¡}ttjddd    d
d d dd gdœ|d}ttdddƒtdddƒtdddƒtdddƒtdddƒgtjddd    tdddƒtdddƒtdddƒtdddƒtdddƒgtjddd    d
d d dd gd œdddddgd}|d     ‡fd!d„¡|d<|d     d"d„¡|d<t
  |  ¡|¡t  ddgtd#dˆd$g¡}ttjd%dd     d%d¡dg|d&}td' ¡td(ddƒtd(ddƒtd(ddƒgdtjd%dd    d)œd*d+dgd}|d+     ‡fd,d„¡|d+<|  ¡}t
  ||¡dS)-Nr?r@rAÚidx1rBÚidx2r))r#r$©r$rrrDrErFr3rHrrrrI)rÀrÁrGrrGrrcs t|ˆdSrJrLrMrKrrrOörPz:TestResetIndex.test_reset_index_datetime.<locals>.<lambda>z1/1/2012ZMSú Europe/ParisÚidx3iÜ)rÀrÁrÄrGrcs t|ˆdSrJrLrMrKrrrOrPcSs t|ddS)NrÃrKrLrMrrrrOrPr9r;r}r€z a a a b b br¨)rfrhrGrfrhcs t|ˆdSrJrLrMrKrrrO4rP)rr    rQr rŸrr(r_rrRr,r-r+Ú from_productÚreshapeÚsplit)    r.Ztz_naive_fixturerÀrÁr7r/rSrÄr1rrKrÚtest_reset_index_datetimeÜs¤þ
 
 
 
 
û   ö
óÿþ
 
 
 
 
û 
 
 
 
 
û  ï ìÿÿÿ
 
 
ýû ø
õ z(TestResetIndex.test_reset_index_datetimecCsÆtjtjddddtdƒgddgd}ttjd    d
d  d d ¡|dgd}ttj    dddgdtj    dddgdtj    dddgddddgdtjd    d
d dœdddgd}| 
¡}t   ||¡dS)Nr9rÚM©r<rCÚabcÚmonthÚfeaturerœé    r)rÂéÿÿÿÿrrG©r%rz2013-01©rCz2013-02z2013-03rr—)rÌrÍrGr) r rÅr´Ú period_rangeÚlistrr(r_rÆZPeriodr+r,r-)r.r7r/rSr1rrrÚtest_reset_index_period8s,þÿÿþ  ù    ö z&TestResetIndex.test_reset_index_periodcCszttddgddgddgƒƒ}tj|ddd    gd
}ttj d d ¡d ddg|d}| ¡}t    |dƒsft
‚t |d    ƒsvt
‚dS)Nr!rcrUéçð?r£Zprm0Zprm1Zprm2rœrrrrrDr€) rÓrr rrr(rVrWr+rr4r)r.Ztuplesr%r/rvrrrÚ$test_reset_index_delevel_infer_dtypeQs z3TestResetIndex.test_reset_index_delevel_infer_dtypecCs@|}|jdd}t|jƒt|jƒks(t‚|jj|jjks<t‚dS)NTr&)r+rXrr4r%r#)r.Z/multiindex_year_month_day_dataframe_random_dataZymdrvrrrÚtest_reset_index_with_dropYs z)TestResetIndex.test_reset_index_with_dropzix_data, exp_datar\é )rGrr]ú
2020-01-01é{rNcCsFtj|ddgd}tdddgi|d}| ¡}t|ƒ}t ||¡dS)NrGrrœr]r\rÙr3)r rrr+r,r-)r.Zix_dataZexp_dataÚixr1rSrrrÚtest_reset_index_nat_multiindexbs
z.TestResetIndex.test_reset_index_nat_multiindexrqrÏcCs¨ttddgƒtddgƒg|ƒ}dtt|ƒƒi}t||d}ttj|dddgdtj|d    ddgdtd
ƒd œƒ}| ¡}t     ||¡| 
d d g¡ ¡}t     ||¡dS)NrrrGrÚcol)Údatar%r)Ú
categoriesrrI)rfrhrÞrfrh) r rrQrXrrZ
from_codesr+r,r-r*)r.rqr%rßr/rSÚresrrrÚ:test_rest_index_multiindex_categorical_with_missing_values|s ÿ ýÿ zITestResetIndex.test_rest_index_multiindex_categorical_with_missing_values)#Ú__name__Ú
__module__Ú __qualname__r2r8r>rTrˆÚmarkÚ parametrizer[rar|rr„rŒr“r¢r¥r´Z    Timedeltarr­r¯r·r½r¾r¿rÈrÔr×rØÚNaTrÝrârrrrr $sx   
 L 
 
     8
ùþ
 2 
 
\    þþ þ÷þ
    .ÿr z array, dtyperGrz    12-1-2000rzQ-DECrÊrÑcCsTt ddgddg|g¡}t|ddd… ¡j}ttjtj|dœƒ}t     
||¡dS)Nrrgà?rÖr3)rfrhZlevel_2) r rÅrr+Zdtypesrr(r)r‘r,rr)Úarrayr$r7r1rSrrrÚ6test_reset_index_dtypes_on_empty_frame_with_multiindex˜s rêcCsŠttdƒgddgggggddgd}t|ddgd    }| ¡}ttd
ƒtd d d d d}|d d¡|d<|d d¡|d<t ||¡dS)Nz2020-07-20 00:00:00rrIrGr)rrqrnr—rNrÐZabcdrr©Ústartr®Ústepr€r©r))    r rrr+rÓr rr,r-)r7r/r1rSrrrÚ7test_reset_index_empty_frame_with_datetime64_multiindexªsý ÿrîcCstdgdgt d¡dœƒ}| d¡ ddg¡dg ¡}| ¡}tdddgtddd    d
d }|d d ¡|d<|d d ¡|d<t     
||¡dS)Ng$@rGrÚ)Úc1Úc2Úc3rrðrñrïrrër€r©r‘) rr´Ú to_datetimeÚheadÚgroupbyÚsumr+r rr,r-©r/r1rSrrrÚDtest_reset_index_empty_frame_with_datetime64_multiindex_from_groupby»s ÿr÷cCs„tdƒ}tdddd}t||tdƒdœƒ}tj|jd<| dd    g¡ d¡}ttdƒtdƒd
œtj    dd d gd    d d}t
  ||¡dS)Nrz
2015-07-01rA)rCr<rË)ÚidÚtstamprG)rrùrørù)rørGz
2015-07-02rèr"r3) rQrrrÓr´rèÚlocr*r+Z DatetimeIndexr,r-)r7rùr/r1rSrrrÚtest_reset_index_multiindex_natÈs þrûcCsztt d¡tddgddtddgdddgƒd}| ¡}tdddgdddggtdtddƒtddƒgƒd    }t ||¡dS)
NrrZYearr"rrÐrÖrr)    rr(Zeyer    rr+r
r,r-rörrrÚ-test_reset_index_interval_columns_object_castÖsÿþrücCs\|jdd}t|jjdd}t |d|¡|jdd}t|jjdd}t |d|¡dS)NÚnew_namerœr"rÛ)r+rr%rsr,rr)rur1rSrrrÚtest_reset_index_renameãs   rþcCs|| ¡ddd…}t||dœƒ}ddg}||j_| ¡}|jddgd}tj|d|ddd    tj|d|ddd    dS)
NrrbrdreÚ    new_firstÚ
new_secondrœFrg)rmrr%rnr+r,rr)ruÚ
stacked_dfrnr1rSrrrÚ"test_reset_index_rename_multiindexîsrc    Csx| ¡ddd…}t||dœƒ}tjtdd|jdddœdW5QRXtjtdd|jdgdW5QRXdS)    Nr)rdrez-Index names must be str or 1-dimensional listr†rÿrrœzlist index out of range)rmrrˆr‰r³r+r‹)rurrrrÚtest_errorreset_index_renameüsÿr)*rÚ    itertoolsrÚnumpyr(rˆZpandas.core.dtypes.commonrrZpandasr´rrrr    r
r r r rrrrZpandas._testingZ_testingr,Zfixturerr rærçržrÒZ PeriodDtyperêrîr÷rûrürþrrrrrrÚ<module>s<  8 
x
 
þþþ