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
U
­ý°dûdã@sŠdZddlmZmZddlZddlZddlmZmZm    Z    m
Z
m Z m Z m Z mZmZddlmZGdd„dƒZGdd„dƒZGd    d
„d
ƒZdS) z/
See also: test_reindex.py:TestReindexSetIndex
é©ÚdatetimeÚ    timedeltaN)    Ú CategoricalÚ    DataFrameÚ DatetimeIndexÚIndexÚ
MultiIndexÚSeriesÚ
date_rangeÚ period_rangeÚ to_datetimec @sveZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z e j  dddddgdg¡e j  dddg¡e j  dddg¡dd„ƒƒƒZe j  dddddgdg¡e j  dddg¡dd„ƒƒZe j  dddddgdg¡e j  dddg¡d d!„ƒƒZd"d#„Ze j  d$eeejed%d&„d'd&„g¡e j  d(d)d*d+d,g¡e j  dddg¡d-d.„ƒƒƒZe j  d$eeejed/d&„g¡e j  d(d)d0d*d+d,g¡e j  dddg¡d1d2„ƒƒƒZe j  d3eeejeed4d&„d5d&„g¡e j  d6eeejeed7d&„d8d&„g¡e j  d(d)d0d+d,g¡e j  dddg¡d9d:„ƒƒƒƒZe j  d;ddg¡e j  dddg¡d<d=„ƒƒZd>d?„Zd@dA„ZdBdC„ZdDdE„Z dFS)GÚ TestSetIndexcCsLdddgdddgdœ}t|ƒ}dd    d
g}||d <t |d ¡}| |¡dS) Nég@éééé)Út1Út2)ré)rr)rrÚtuples)rr    Ú from_tuplesÚ    set_index)ÚselfÚdÚdfrÚindex©rú`d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_set_index.pyÚtest_set_index_multiindexs 
z&TestSetIndex.test_set_index_multiindexcCs‚tdddœdddœddd    d
œd d d d
œgddddgd}| ddg¡}|ddg}tj|d|dgddgd|_t ||¡dS)Nrr)ÚaÚpré
)r!Úmré é)r!r$r"ré ér!r$r"Úx©Úcolumns©Únames)rrr    Ú from_arraysrÚtmÚassert_frame_equal)rrÚresultÚexpectedrrrÚtest_set_index_empty_column's
 
ü
ù
  z(TestSetIndex.test_set_index_empty_columncCsTttddtddgdœƒ}| ddg¡}|j ¡j}|ddgj}t ||¡dS)Nzdatetime64[ns])ZdtypeÚint64)r!ÚbÚcr!r5)rr
rrZto_frameZdtypesr/Zassert_series_equal)rZdf1Údf2r1r2rrrÚtest_set_index_empty_dataframe9sÿ z+TestSetIndex.test_set_index_empty_dataframecCs‚t dddg¡}ttj dd¡|d}| |jd¡}|jdd…dd…f}|jdd…dfj    |_
|jdg|j
_ t   ||¡dS)N)Úfoor)r9r)Úbarrrr*rr)r    rrÚnpÚrandomÚrandnrr+ZilocÚvaluesrr-r/r0)rr+rr1r2rrrÚ test_set_index_multiindexcolumnsDsz-TestSetIndex.test_set_index_multiindexcolumnscCsvtdgdd d¡}td|iƒ}| |¡jdjdks:t‚tt|jƒƒdjdksVt‚| |j¡jdjdksrt‚dS)Nz2014-01-01 10:10:10ÚUTC©Útzz Europe/RomeÚArr%)    rÚ
tz_convertrrrÚhourÚAssertionErrorr
rC)rÚidxrrrrÚtest_set_index_timezoneOs
 z$TestSetIndex.test_set_index_timezonecCsBtdd„tdƒDƒtj d¡dœƒ}| d¡}t|jtƒs>t    ‚dS)NcSs g|]}tdddƒt|ƒ‘qS)iÐrr)Ú.0ÚirrrÚ
<listcomp>[szBTestSetIndex.test_set_index_cast_datetimeindex.<locals>.<listcomp>iè©rCÚBrC)
rÚranger;r<r=rÚ
isinstancerrrF)rrÚidfrrrÚ!test_set_index_cast_datetimeindexXs
þÿ
z.TestSetIndex.test_set_index_cast_datetimeindexcCsÌtddddd}tdddgdd    d
gd œ|d  ¡}| d ¡}tdddgdd    d
gd œt|d dd }|j d¡|_t ||¡| d dg¡}t    j
|dddggd dgd}tddd    d
gi|d}t ||¡dS)Nz2006-10-29 00:00:00rÚHú
US/Pacific)ÚperiodsÚfreqrBrrrrr)r!r5)Údatarr©Únamer!r,r5©r) r rÚ reset_indexrrrÚ
_with_freqr/r0r    r.)rZdirÚresÚexpZ    exp_indexrrrÚtest_set_index_dstcs"
 
þ zTestSetIndex.test_set_index_dstc    Csj|}tt t|ƒ¡ddd…ƒ}| |¡}t |j|¡tj    t
dd| |ddd…¡W5QRXdS)NéÿÿÿÿzLength mismatch©Úmatchr) rr;ZarangeÚlenrr/Úassert_index_equalrÚpytestÚraisesÚ
ValueError)rZfloat_string_framerrGrrrÚtest_set_indexvs 
zTestSetIndex.test_set_indexcCst ¡}d|j_| |j¡jjdgks*t‚tj|ddgj    j
ddgd}tj|ddddgj    j
ddddgd}| ddg¡}| |j¡jjddgks˜t‚t | |j¡jtƒs°t‚t  | |j¡j|¡|j  ddg¡}t | |j|g¡jtƒsòt‚t  | |j|g¡j|¡dS)NrXrCrMr,ÚCÚD)r/Z makeDataFramerrXrr-rFr    r.ÚTr>rOrcÚrename)rrÚmiZmi2Úidx2rrrÚtest_set_index_namess
ÿz!TestSetIndex.test_set_index_namesÚkeysrCrhrM)ÚtupleÚasÚlabelÚinplaceTFÚdropc    s |‰t|tƒr,tj‡fdd„|Dƒ|d}ntˆ||d}|rNˆj|ddnˆ}||_|r‚ˆ ¡}|j||dd}|dkst    ‚nˆj||d    }t
  ||¡dS)
Ncsg|] }ˆ|‘qSrr©rIr)©rrrrK¥sz<TestSetIndex.test_set_index_drop_inplace.<locals>.<listcomp>r,rWr©ZaxisT)rtrs)rt) rOÚlistr    r.rrtrÚcopyrrFr/r0)    rÚframe_of_index_colsrtrsrorGr2r1Z return_valuerrvrÚtest_set_index_drop_inplacežs
z(TestSetIndex.test_set_index_drop_inplacecs‚|‰t|tƒr|n|g}tjˆjg‡fdd„|Dƒdg|d}|rTˆj|ddnˆ ¡}||_ˆj||dd}t     ||¡dS)Ncsg|] }ˆ|‘qSrrrurvrrrK¼sz6TestSetIndex.test_set_index_append.<locals>.<listcomp>r,rrwT©rtÚappend)
rOrxr    r.rrtryrr/r0)rrzrtrorGr2r1rrvrÚtest_set_index_appendµsÿz"TestSetIndex.test_set_index_appendcCs\|jdg|dd}t|tƒr |n|g}|jdg||dd}|j||dd}t ||¡dS)NriTr|)rrOrxr/r0)rrzrtrorr2r1rrrÚ#test_set_index_append_to_multiindexÆs
z0TestSetIndex.test_set_index_append_to_multiindexcCshtdddgdddgdœƒ}tdddgitddgd    d
ƒ}|j|j d d „¡}| d    ¡}t ||¡dS) Nrrrr!r5r6)ÚvalÚkeyr€rrWcSs|dkS)Nrr)ZindxrrrÚ<lambda>Øóz<TestSetIndex.test_set_index_after_mutation.<locals>.<lambda>)rrÚlocrÚmaprr/r0)rrr2r7r1rrrÚtest_set_index_after_mutationÓs
 
z*TestSetIndex.test_set_index_after_mutationÚboxcCs
t|ƒgS©N)rx©r)rrrr‚ærƒzTestSetIndex.<lambda>cCs t |g¡Srˆ©r    r.r‰rrrr‚çrƒzappend, index_name)TN)TrM)TÚtest)FNc     Cs¾|}||j_||dƒ}|tkrPd}tjt|d|j|||dW5QRXnjt|ddƒ}    |    dkrrt|ddƒgn|    }
|j|||d} |jdgd|d} |r¦|g|
n|
| j_t     
| | ¡dS)NrMz%['one', 'two', 'three', 'one', 'two']r`r|r-rXF) rrXrxrdreÚKeyErrorrÚgetattrr-r/r0) rrzrtr}Ú
index_namer‡rrÚmsgZname_mirXr1r2rrrÚ test_set_index_pass_single_arrayßs  z-TestSetIndex.test_set_index_pass_single_arraycCs t |g¡SrˆrŠr‰rrrr‚ rƒ)TrCc Csš|}||j_d||dƒg}d|tjtttfkr4dndg}|j|||d}    |jddgd|d}
|rp|
jdddn|
}
|r‚|g|n||
j_    t
  |    |
¡dS)NrCrMr|Frrw) rrXr;ÚarrayrxrpÚiterrrtr-r/r0) rrzrtr}rŽr‡rror-r1r2rrrÚtest_set_index_pass_arrays
s z'TestSetIndex.test_set_index_pass_arraysÚbox2cCs t |g¡SrˆrŠr‰rrrr‚1rƒcCs|jSrˆrWr‰rrrr‚2rƒÚbox1cCs t |g¡SrˆrŠr‰rrrr‚=rƒcCs|jSrˆrWr‰rrrr‚>rƒc CsÄ|}||j_||dƒ||dƒg}|j|||d}    ||dƒ||dƒg}t|dtƒr„|ddkr„t|dtƒr„|ddkr„dn|}
|j|dg|
|d} | j|dg|dd} t |    | ¡dS)NrCr|rrFT)rrXrrOÚstrr/r0) rrzrtr}rŽr•r”rror1Z
first_dropr2rrrÚ$test_set_index_pass_arrays_duplicate)s$ þ
ý ü
ûø z1TestSetIndex.test_set_index_pass_arrays_duplicater}cCsV|}tj|d|dgddgd}|j|||d}|jddgd|d}t ||¡dS)NrCrMr,r|F)r    r.rr/r0)rrzrtr}rror1r2rrrÚtest_set_index_pass_multiindexes
z+TestSetIndex.test_set_index_pass_multiindexcCsŽt d¡}d|_ttj d¡|jdœƒ}| d¡}t     |j
|¡ttj d¡|dœƒ}| d¡}t     |j
|¡|  ¡ d¡}t     |j
|¡dS)Nr#rMrL) r/ZmakeCategoricalIndexrXrr;r<r=r>rrcrrZ)rÚcirrPrrrÚ(test_construction_with_categorical_indexrs
 
 
z5TestSetIndex.test_construction_with_categorical_indexc    Cs–tdddddgdddddgttdƒtd    ƒd
d ttdƒtd    ƒd d d œƒ}ddddgddgddgfD],}| |¡ ¡}|j|jd}t ||¡qddS)Nrrr#éééé"ZabaabZbacF)Ú
categoriesZorderedT)rCrMÚC1ÚC2r r¡rCr*)    rrrxrrZZreindexr+r/r0)rrÚcolsr1rrrÚ)test_set_index_preserve_categorical_dtype„s  üÿz6TestSetIndex.test_set_index_preserve_categorical_dtypecCs8tddddddgddddddgtdƒdœƒ}t| d¡d    d
|_|j d ¡|_tdddgdd }| d ¡ d ¡}|jdd    d}t     
|jj d|¡t     
|jj dt ddgdd ¡|jj ddgksÆt‚| dd¡}t     
|jj dt ddgdd ¡t     
|jj d|¡|jj ddgkst‚ttj d¡ƒ}tddddddgdd}tddddddgdd}tdddd}| d¡}| |¡}|j|d    d}|j|d    d}tdddgdd}tddgdd}t     
|jj d|¡t     
|jj d|¡t     
|jj d|¡t     
|j d¡|¡t     
|j d¡|¡t     
|j d¡|¡dS)Nr!r5z2011-07-19 07:00:00z2011-07-19 08:00:00z2011-07-19 09:00:00r)rrrÚvaluerT)ÚutcrSrWr@rr©r}rrz
US/EasternrAz2012-04-01 09:00z2012-04-02 09:00z2011-01-01 09:00z
Asia/Tokyo)rTrBr)rrNr ÚpoprrDrZ tz_localizerr/rcÚlevelsrr-rFZ    swaplevelr;r<r r[Úget_level_values)rrr2Úidx1rmÚidx3Ú    expected1Ú    expected2rrrÚtest_set_index_datetime“s†úöÿþ   ú÷ ú÷ 
 
þÿz$TestSetIndex.test_set_index_datetimecCsttj d¡ƒ}tdddd}| |¡}tdddd}| |¡ |¡}td    dd
d}| |¡}|j|d d }|j|d d }tdddd}tdddd}t |jj    d |¡t |jj    d|¡t |jj    d|¡t |j 
d ¡|¡t |j 
d¡|¡t |j 
d¡|¡dS)Nrz
2011-01-01rÚM©rTrUz2013-01-01 09:00rrRZ2005rCTr¦rr) rr;r<r r}rr/rcrr¨r©)rrrªrmr«r¬r­rrrÚtest_set_index_periodås"
 
z"TestSetIndex.test_set_index_periodN)!Ú__name__Ú
__module__Ú __qualname__r r3r8r?rHrQr^rgrnrdÚmarkÚ parametrizer{r~rr†r
rr;r‘rxrr“r’r—r˜ršr£r®r±rrrrrs¢               úþ 
ÿÿ þùþ ùþ 
ÿ  Rrc@sôeZdZdd„Zej dddg¡ej dddg¡dd„ƒƒZej dddg¡ej dddg¡ejjd    egd
gd d d „ƒƒƒZ    ejjd    e
e e j edd„gdddddgd ejjdddgddgd ej dddg¡ej dddg¡dd„ƒƒƒƒZdS)ÚTestSetIndexInvalidc    Csd|}tjtdd|jdddW5QRXtjtdd |j|d|dgddW5QRXdS)NzIndex has duplicate keysr`rCT)Zverify_integrity)rdrerfr)rrzrrrrÚtest_set_index_verify_integrityÿs
z3TestSetIndexInvalid.test_set_index_verify_integrityr}TFrtc    Csâ|}tjtdd|jdddg||dW5QRXtjtdd$|j|d|d    dg||dW5QRXd
}tjt|d|jt|dƒ||dW5QRXtjt|d(|jd|dt|dƒg||dW5QRXdS) Nz['foo', 'bar', 'baz']r`r9r:Zbazr|ÚXrCrMz%[('foo', 'foo', 'foo', 'bar', 'bar')])rdrerŒrrp)rrzrtr}rrrrrÚtest_set_index_raise_keyss ("z-TestSetIndexInvalid.test_set_index_raise_keysr‡Úset)Úidsc    Csz|}d}tjt|d|j||dƒ||dW5QRXtjt|d(|jd|d||dƒg||dW5QRXdS)Nú,The parameter "keys" may be a column key, .*r`rCr|)rdreÚ    TypeErrorr)rrzr‡rtr}rrrrrÚtest_set_index_raise_on_types "z0TestSetIndexInvalid.test_set_index_raise_on_typecCs t |g¡SrˆrŠr‰rrrr‚0rƒzTestSetIndexInvalid.<lambda>r
rznp.arrayr’r    ÚlengthrrZ    too_shortZtoo_longc        Cs‚|}tj dd|f¡}d}tjt|d|j||ƒ||dW5QRXtjt|d"|jd|j||ƒg||dW5QRXdS)Nrr#z<Length mismatch: Expected 5 rows, received array of length.*r`r|rC)r;r<ÚrandintrdrerfrrC)    rrzr‡rÀrtr}rr>rrrrÚtest_set_index_raise_on_len.s z/TestSetIndexInvalid.test_set_index_raise_on_lenN)r²r³r´r¸rdrµr¶rºr»r¿r
rr;r‘r’rÂrrrrr·þs"       ýr·c@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚTestSetIndexCustomLabelTypec        CsäGdd„dƒ}|ddƒ}|ddƒ}t|ddg|d    d
giƒ}t|ddgitd    d
g|d d }| |¡}t ||¡| |g¡}t ||¡|d dƒ}d}tjt|d| |¡W5QRXtjt|d| |g¡W5QRXdS)Nc@s,eZdZddœdd„Zedœdd„ZeZdS)zKTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.ThingN©ÚreturncSs||_||_dSrˆ©rXÚcolor©rrXrÇrrrÚ__init__NszTTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__init__cSsdt|jƒ›dS©Nz<Thing ú>©ÚreprrX©rrrrÚ__str__RszSTestSetIndexCustomLabelType.test_set_index_custom_label_type.<locals>.Thing.__str__)r²r³r´rÉr–rÏÚ__repr__rrrrÚThingMsrÑÚOneÚredÚTwoÚbluerrrrrWrYÚThreeÚpinkz<Thing 'Three'>r`)rrrr/r0rdrerŒ©    rrÑÚthing1Úthing2rr2r1Zthing3rrrrÚ test_set_index_custom_label_typeJs
 
 
 
z<TestSetIndexCustomLabelType.test_set_index_custom_label_typec        CsìGdd„dtƒ}|ddgƒ}|ddgƒ}t|ddg|d    d
giƒ}t|ddgitd    d
g|d d }| |¡}t ||¡| |g¡}t ||¡|d dgƒ}d}tjt|d| |¡W5QRXtjt|d| |g¡W5QRXdS)Nc@seZdZedœdd„ZdS)zXTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.ThingrÄcSs$t|ƒ}d tt|ƒ¡}d|›dS)Nz, z frozenset({z}))ÚsortedÚjoinr…rÍ)rÚtmpZ joined_reprsrrrrÐyszaTestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterable.<locals>.Thing.__repr__N)r²r³r´r–rÐrrrrrÑwsrÑrÒrÓrÔrÕrrrrrWrYrÖr×z frozenset\(\{'Three', 'pink'\}\)r`)    Ú    frozensetrrrr/r0rdrerŒrØrrrÚ-test_set_index_custom_label_hashable_iterableps   
    zITestSetIndexCustomLabelType.test_set_index_custom_label_hashable_iterablec    Cs’Gdd„dtƒ}|ddƒ}|ddƒ}tddgd    d
gg||gd }d }tjt|d | |¡W5QRXtjt|d | |g¡W5QRXdS)Nc@s(eZdZddœdd„Zedœdd„ZdS)zRTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.ThingNrÄcSs||_||_dSrˆrÆrÈrrrrɜsz[TestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__init__cSsdt|jƒ›dSrÊrÌrÎrrrrÏ szZTestSetIndexCustomLabelType.test_set_index_custom_label_type_raises.<locals>.Thing.__str__)r²r³r´rÉr–rÏrrrrrћsrÑrÒrÓrÔrÕrrrrr*r½r`)r»rrdrer¾r)rrÑrÙrÚrrrrrÚ'test_set_index_custom_label_type_raises—s
 
zCTestSetIndexCustomLabelType.test_set_index_custom_label_type_raisescCs`ttj d¡ƒ}tdddd}tdddd}| |¡}t |j|¡| |¡}t |j|¡dS)Nrz
2011/01/01r¯r°Z2013rC)rr;r<r rr/rcr)rrrªrmrrrÚtest_set_index_periodindex±s
 
z6TestSetIndexCustomLabelType.test_set_index_periodindexN)r²r³r´rÛràrárârrrrrÃIs&'rÃ)Ú__doc__rrÚnumpyr;rdZpandasrrrrr    r
r r r Zpandas._testingZ_testingr/rr·rÃrrrrÚ<module>s, fK