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
U
­ý°d|_ã@szdZddlZddlZddlZddlmZmZmZm    Z    m
Z
m Z m Z ddl mZGdd„dƒZGdd„dƒZGdd    „d    ƒZdS)
zx
test setting *parts* of objects both positionally and label based
 
TODO: these should be split among the indexer tests
éN)Ú    DataFrameÚIndexÚPeriodÚSeriesÚ    TimestampÚ
date_rangeÚ period_rangec@s|eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„ZdS)ÚTestEmptyFrameSetitemExpansioncCsdtitjdddd}tdtjdddd}||d<tddgditjdddd}t ||¡dS)    NrZdf_index©Úname©Úindexç®Gáz®ó?éÚ series_indexÚseries)rÚpdÚ
RangeIndexrÚtmÚassert_frame_equal©ÚselfÚdfrÚexpected©rúYd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexing/test_partial.pyÚ,test_empty_frame_setitem_index_name_retaineds ÿzKTestEmptyFrameSetitemExpansion.test_empty_frame_setitem_index_name_retainedcCsTtƒ}tdtjdddd}||d<tddgditjdddd}t ||¡dS)Nrrrr
r r)rrrrrrrrrrÚ-test_empty_frame_setitem_index_name_inherited$s ÿzLTestEmptyFrameSetitemExpansion.test_empty_frame_setitem_index_name_inheritedcCs–tddgd}tdtdƒd|jd<tddgdgtjd}t ||¡tddgd}tddgd|jd<ttjdggddgdgd    d}t ||¡dS)
NÚAÚB©Úcolumnsérr r)r!r ÚdtypeÚfloat64)    rrÚrangeÚlocÚnpr$rrÚnan)rrrÚexprrrÚ-test_loc_setitem_zerolen_series_columns_align.s zLTestEmptyFrameSetitemExpansion.test_loc_setitem_zerolen_series_columns_alignc    Cs†tddgd}d}tjt|ddddg|jd    <W5QRXtddgd}d
d g|jd<td
d ggdgddgtjd }t ||¡dS) Nrrr z(cannot set a row with mismatched columns©Úmatchr"ééréé)r r!r#)    rÚpytestÚraisesÚ
ValueErrorr&r'Úint64rr)rrÚmsgr)rrrÚ7test_loc_setitem_zerolen_list_length_must_match_columns<szVTestEmptyFrameSetitemExpansion.test_loc_setitem_zerolen_list_length_must_match_columnsc    Cs’tƒ}d}tjt|dd|jd<W5QRXtjt|dtdgdgd|jd<W5QRXd}tjt|dd|jdd…df<W5QRXdS)Nz*cannot set a frame with no defined columnsr+r"Úfoor z5cannot set a frame with no defined index and a scalar)rr1r2r3r&r)rrr5rrrÚtest_partial_set_empty_frameJs z;TestEmptyFrameSetitemExpansion.test_partial_set_empty_framecCs”tdgtgddd}ttgddd}tgdd|d<t ||¡ttgƒd}t|jƒ|d<t ||¡ttgƒd}|j|d<t ||¡dS)Nr7Úobject©r#©r!r r )rrrrrr ©rrrrrrÚtest_partial_set_empty_frame2[s  
z<TestEmptyFrameSetitemExpansion.test_partial_set_empty_frame2cCsŠtdgtgddd}|d d¡|d<ttgddd}g|d<t ||¡ttgddd}tt t|ƒ¡dd|d<t ||¡dS)Nr7r4r:r;r$r )    rrÚastyperrrr'ÚarangeÚlenr<rrrÚtest_partial_set_empty_frame3ps z<TestEmptyFrameSetitemExpansion.test_partial_set_empty_frame3cCsZttgddd}tt|ƒƒ|d<tdgtgddd}|d d¡|d<t ||¡dS)Nr4r:r r7r;)rrr%r@r>rr©rrrrrrÚtest_partial_set_empty_frame4~s
z<TestEmptyFrameSetitemExpansion.test_partial_set_empty_frame4cCs€tƒ}t |jt d¡¡tƒ}tdgdgd|d<tdgdgd|jdd…df<t |tdggdgdgd¡t ||¡dS)Nrr"r7r ©r r!)    rrÚassert_index_equalr!rrrr&r)rrZdf2rrrÚtest_partial_set_empty_frame5‡sz<TestEmptyFrameSetitemExpansion.test_partial_set_empty_frame5cCs¨tdtdtdƒdidddgd}tddgd}tdtdƒd|d<|jt|ƒt ||¡tddgd}tdtdƒd|jdd…df<|jt|ƒt ||¡dS)Nrr"rr rrr )rrr%ZdtypesÚstrrrr&r<rrrÚ%test_partial_set_empty_frame_no_indexs" zDTestEmptyFrameSetitemExpansion.test_partial_set_empty_frame_no_indexcCs~tdddgtgddd}|d d¡|d<|d d¡|d<|d d¡|d<tdd    d
gd d d gdœƒ}||jdk}tj|d<t ||¡tddddgd}|d d¡|d<tdddgd}d
|d<t ||¡t |dt    dt
d¡tdd    d
gd d d gdœƒ}||jdk}|j dddgd}tdddgd}|d d¡|d<|d d¡|d<|d d¡|d<t ||¡dS)NrrZNewr4r:r;r$r"r-r.g333333ó?gÍÌÌÌÌÌ@gÍÌÌÌÌÌ@©rréÚaÚbzc cÚdr ©r r#ÚC) rrr>rr'r(rrÚassert_series_equalrr9Úreindex)rrrÚyÚresultrrrÚ test_partial_set_empty_frame_row s,
  z?TestEmptyFrameSetitemExpansion.test_partial_set_empty_frame_rowcCs^tttdƒ}tdttdiƒ}t ||¡ttdtdƒ}tdttdiƒ}t ||¡dS)Nr:rr7rN)rrr9rrrBrrrÚ'test_partial_set_empty_frame_set_series¾s  zFTestEmptyFrameSetitemExpansion.test_partial_set_empty_frame_set_seriescCs>tdgd}| ¡}d|d<tddgdgd}t ||¡dS)Nrr rKrD)rÚcopyrrrBrrrÚ2test_partial_set_empty_frame_empty_copy_assignmentÉs
 zQTestEmptyFrameSetitemExpansion.test_partial_set_empty_frame_empty_copy_assignmentcCsÈtddgd}ddg|d<tddgtjtjgdœƒ}tj||ddtddgd}d    d
g|d<td    d
gtjtjgdœtd }t ||¡tddgd}d|jd <tdgtjgdœƒ}tj||dddS) NÚxrRr r"r-)rXrRF)Z check_dtypeÚ1Ú2r:)rrX)rr'r(rrr9r&rBrrrÚ0test_partial_set_empty_frame_empty_consistenciesÒs   
zOTestEmptyFrameSetitemExpansion.test_partial_set_empty_frame_empty_consistenciesN)Ú__name__Ú
__module__Ú __qualname__rrr*r6r8r=rArCrFrHrTrUrWr[rrrrr    s 
             r    c @s®eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
  d ddg¡dd„ƒZ dd„Z e    j
  dedddddddgedddedddedddgfedddddddgedƒedƒedƒgfejddddd d!ge d"¡e d#¡e d$¡gfg¡d%d&„ƒZe    j
  d'edddddd(gfedddddd(gfejdddd)d*gfg¡d+d,„ƒZe    j
  d-edddddd gd.fedddddd gd.fejdddddgd/fg¡d0d1„ƒZd2S)3ÚTestPartialSettingc    CsNtdddgƒ}| ¡}d|d<tddddgddddgd}t ||¡| ¡}d|jd<tddddgddddgd}t ||¡| ¡}d|d<tddddgddddgd}t ||¡| ¡}d|jd<tddddgddddgd}t ||¡| ¡}d}tjt|d    d|jd<W5QRXd
}tjt|d    d|j    d<W5QRXdS) Nr"r-r.rJrr ç@ú%iloc cannot enlarge its target objectr+z/index 3 is out of bounds for axis 0 with size 3)
rrVrrPr&r1r2Ú
IndexErrorÚilocÚiat)rZs_origÚsrr5rrrÚtest_partial_settingæs0 
 
 z'TestPartialSetting.test_partial_settingc    Csštt d¡ dd¡ddgdd}| ¡}d}tjt|d    d
|jd <W5QRXd }|r\d }tjt|d    d
|j    d <W5QRXtt
dddgdddgdœƒƒ}| ¡}|jd|jd<t   ||¡tt
dddgdddgdœƒƒ}| ¡}|j d|j d<t   ||¡tt
ddddgddddgdœƒƒ}| ¡}|j d|j d<t   ||¡tt
dddgdddgdœƒƒ}| ¡}|j dd…df|j dd…df<t   ||¡tt
dddgtdddgƒdœƒƒ}| ¡}|d tj¡|d<|j dd…df|j dd…df<t   ||¡| ¡}|d|d<| ¡}|j dd…df|j dd…df<t   ||¡| ¡}|d|d<| ¡}|j dd…df|j dd…df<t   ||¡dS)Nr/r.r-rrr4)r!r#rar+r`)rr-z/index 2 is out of bounds for axis 0 with size 2zlist index out of rangerrr"rJrIgg@g@rO)rr'r?ZreshaperVr1r2rbrcrdÚdictrrr&rr>r$)rZusing_array_managerÚdf_origrr5rrrrÚtest_partial_setting_frame sZÿ  "   "       z-TestPartialSetting.test_partial_setting_framecCs<tddd}ttj dd¡|ddddgd    }tj|tdd
i|d d…|jd gd d}| ¡}d
|j    |d |jdf<t
  ||¡| ¡}d
|j |d |jdf<t
  ||¡tdd
i|d d…|jd }tj||gdd}| ¡}d
|j    |d |jdf<t
  ||¡| ¡}d
|j |d |jdf<t
  ||¡dS)Nz1/1/2000é)ÚperiodsrrrrOÚDrDr0éÿÿÿÿr T)Úsortrr"©Zaxis) rrr'ÚrandomZrandnrÚconcatÚfreqrVr&rrÚat)rÚdatesrhrrZ    exp_otherrrrÚtest_partial_setting2Ks0  
ÿ ÿ   z(TestPartialSetting.test_partial_setting2cCshtddgddggddgd}|jd ¡}d|_t |t|ƒj ¡g¡}|jd|jd<t     ||¡dS)NTr"Fr-ZfemaleZfitnessr )
rr&rVr rrqÚTÚ infer_objectsrr)rrrerrrrÚ test_partial_setting_mixed_dtypefs z3TestPartialSetting.test_partial_setting_mixed_dtypec    Csòtddgddgd}ttjdtjgdddgd}tjtdd|jdddgW5QRX| dddg¡}tj    ||d    d
ttjdtjtjgdddd gd}tjtdd|jdddd gW5QRX| dddd g¡}tj    ||d    d
tdddgdddgd}|jdddg}tj    ||d    d
tddtjdgddd dgd}tjtdd|jddd dgW5QRX| ddd dg¡}tj    ||d    d
d t 
¡j ›d }tjt|d|jdddgW5QRXtddtjgdddgd}tjtdd|jdddgW5QRX| dddg¡}tj    ||d    d
tdddgdddgd}tdtjtjgdddgd}tjtdd|jdddgW5QRX| dddg¡}tj    ||d    d
tddddgddddgd}ttjddgdddgd}tjtdd|jdddgW5QRX| dddg¡}tj    ||d    d
tddddgddddgd}ttjddgdddgd}tjtdd|jdddgW5QRX| dddg¡}tj    ||d    d
tddddgddddgd}tdtjtjgdddgd}tjtdd|jdddgW5QRX| dddg¡}tj    ||d    d
tddddgddddgd}tdtjtjgdddgd}tjtdd|jdddgW5QRX| dddg¡}tj    ||d    d
tddddgddddgd}|j ddddg}tj    ||d    d
dS)N皙™™™™¹?皙™™™™É?r"r-r r.ú not in indexr+T©Zcheck_index_typerXú'\"None of \[Index\(\[3, 3, 3\], dtype='z'\)\] are in the \[index\]\"ç333333Ó?r皙™™™™Ù?rJr/r0r) rr'r(r1r2ÚKeyErrorr&rQrrPÚint_r#rc)rÚserrrSr5rerrrÚtest_series_partial_setrsz"ÿz*TestPartialSetting.test_series_partial_setc    Cs<tddgddd}tddg|dd    }tjtd
d |jd dd gW5QRXtjtd d |jd dd dgW5QRXtdddgddd}tdddg|dd    }|jdddg}tj||ddtjtdd |jddddgW5QRXdt     ¡j
›d}tjt|d |jd d d gW5QRXtjtd d |jddd gW5QRXtddd gddd}tjtd d &tdddg|dd    jd ddgW5QRXtddd dgddd}tjtd d (tddddg|dd    jdd d gW5QRXtddd dgddd}tjtd d (tddddg|dd    jdddgW5QRXtddddgddd}tjtd d (tddddg|dd    jdddgW5QRXtddd dgddd}tjtd d (tddddg|dd    jdddgW5QRXtddddgddd}tddddg|dd    }|j ddddg}tj||dddS)Nr"r-r4Úidx©r#r ryrzre)r r z\[3\] not in indexr+r.r{rXTr|z\['x'\] not in indexr}z(', name='idx'\)\] are in the \[index\]\"r~rrrJr/r0r) rrr1r2r€r&rrPr'rr#rc)rr„r‚Zexp_idxrrSr5rrrÚ!test_series_partial_set_with_nameÍsJÿ*,,,,z4TestPartialSetting.test_series_partial_set_with_nameÚkeyédgY@cCs„t ¡}| ¡}|jd|j|dd…f<tt|jƒ|gt|jj    d}t
j |j |jdgj gdd}t |||jd}t ||¡dS)Nrr…rorD)rÚmakeTimeDataFramerVrcr&rÚlistr r9r r'Z concatenateÚvaluesrr!r)rr‡ÚorigrZex_indexZex_datarrrrÚ6test_setitem_with_expansion_numeric_into_datetimeindexszITestPartialSetting.test_setitem_with_expansion_numeric_into_datetimeindexcCst ¡}| ¡}|jd|jddd…f<t|jddd}t |t|ƒj     
¡g¡}t  ||¡t  |j t|j  ¡dgƒ¡|j jdksŒt‚dS)NrrKr
r9)rr‰rVrcr&rrrqrrvrwrrEr rÚtolistr#ÚAssertionError)rrŒrr‚r)rrrÚtest_partial_set_invalids z+TestPartialSetting.test_partial_set_invalidzidx,labels,expected_idxÚ2000érl)Ústartrkrrz
2000-01-04z
2000-01-08z
2000-01-12)rrz1 day)r“rkZ4DZ8DZ12Dz4 dayz8 dayz12 daycCsR|tdƒ|d}dddg}|||ƒ}t ||j|¡|tkrNt |||¡dS)Nr’r r.r0é )r%rZ assert_equalr&rrP)rr„ÚlabelsZ expected_idxZframe_or_seriesÚobjZexpected_valuerrrrÚ4test_loc_with_list_of_strings_representing_datetimes#s  
 
zGTestPartialSetting.test_loc_with_list_of_strings_representing_datetimesz
idx,labelsz
2000-01-30z3 dayz30 dayc    Cs’ttdƒ|d}ttdƒ|d}d}tjt|d|j|W5QRXtjt|d||W5QRXtjt|d|j|W5QRXdS)Nr’r r{r+©rr%rr1r2r€r&)rr„r•r‚rr5rrrÚBtest_loc_with_list_of_strings_representing_datetimes_missing_valueLszUTestPartialSetting.test_loc_with_list_of_strings_representing_datetimes_missing_valuezidx,labels,msgzHNone of \[Index\(\['4D', '8D'\], dtype='object'\)\] are in the \[index\]zXNone of \[Index\(\['2000-01-04', '2000-01-08'\], dtype='object'\)\] are in the \[index\]c    CsŽttdƒ|d}ttdƒ|d}tjt|d|j|W5QRXtjt|d||W5QRXtjt|d|j|W5QRXdS)Nr’r r+r˜)rr„r•r5r‚rrrrÚEtest_loc_with_list_of_strings_representing_datetimes_not_matched_typeis!zXTestPartialSetting.test_loc_with_list_of_strings_representing_datetimes_not_matched_typeN)r\r]r^rfrirurxrƒr†r1ÚmarkZ parametrizerrrrrrrZtimedelta_rangeZ    Timedeltar—r™ršrrrrr_åsz%@ [:
 
 
 
ýý
ýý
ýíþ
 þ þ÷þ
 ü     ü     üïþr_c@seZdZdd„ZdS)ÚTestStringSlicingcCsft ddddg¡}ttt|ƒƒ|d}ttt|dd…ƒƒ|dd…d}|dd…}t ||¡dS)Nz
2012-01-01z
2012-01-02z
2012-01-03r r.z
2012-01-04)rÚ to_datetimerr%r@rr)rr rrrSrrrÚ,test_slice_irregular_datetime_index_with_nan–s
$ z>TestStringSlicing.test_slice_irregular_datetime_index_with_nanN)r\r]r^ržrrrrrœ•srœ)Ú__doc__Únumpyr'r1ZpandasrrrrrrrrZpandas._testingZ_testingrr    r_rœrrrrÚ<module>s$     O3