zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
­ý°dÓKã @sddlmZddlZddlZddlmZddlmZddlZ    ddlm
Z
m Z m Z m Z ddlmZGdd„dƒZej ded    d
d
ƒed    d
d ƒfe     d d ¡e     dd ¡fe     d¡e     d¡fe    jdd
de    jd dddfg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„ZdS)#é)ÚdatetimeN)Úfind_common_type)Úis_dtype_equal)Ú    DataFrameÚIndexÚ
MultiIndexÚSeriesc@sèeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
  d e dddƒe dddƒe dddƒge je je jge dddƒe dddƒe dddƒgfe je je jge dddƒe dddƒe dddƒge dddƒe dddƒe dddƒgfe dddƒe je jge dddƒe dddƒe dddƒge dddƒe dddƒe dddƒgfe dddƒe dddƒe dddƒge dddƒe je jge dddƒe dddƒe dddƒgff¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Ze    j
  dddg¡d d!„ƒZd"d#„Zd$S)%ÚTestDataFrameCombineFirstcCs°tddgtdƒd}ttdƒtdƒd}t||dœƒ}tddgtddƒd}ttdƒtddƒd}t||dœƒ}ttdƒd    d
d    d
gdœd    d
dd gd}| |¡}t ||¡dS) NÚaÚbé©Úindex©ÚAÚBééZababréé)rÚrangerÚlistÚ combine_firstÚtmÚassert_frame_equal)Úselfr
r ÚfÚgÚexpÚcombined©r údd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_combine_first.pyÚtest_combine_first_mixeds&
z2TestDataFrameCombineFirst.test_combine_first_mixedcCsd|dd…|dd…}}| |¡}| |j¡}t ||¡t |j|j¡sPt‚t |d|d¡|     ¡}d|d<|d=|     ¡}d|d<|d=| |¡}|ddk 
¡s®t‚t |d|d¡t |d|d¡t |d|d¡|dd…     ¡|}}d|d<| |¡}|ddd…dk 
¡s0t‚d|j dd…|j  d¡f<| |¡}|ddd…dk 
¡srt‚|dd…}|dd…}    | |    ¡}t |d |j¡|d¡t |d |    j¡|    d¡| t ƒ¡}
t |
|¡t ƒ |¡}
t |
|¡| t d    d
gd ¡}
d    |
jks t‚t d dgitd ddƒgd } t dgd} |  | ¡} d| ks`t‚dS)NrrrÚCrrÚDé
ZfazZboor r
iÜr ©Úcolumns)rZreindexrrrZ equalContentsr'ÚAssertionErrorÚassert_series_equalÚcopyÚallÚilocZget_locrr)rZ float_frameÚheadÚtailrZreordered_frameZfcopyZfcopy2rrÚcombÚdfÚdf2Úresultr r r!Útest_combine_first!sN
 
 
 
 
 
z,TestDataFrameCombineFirst.test_combine_firstcCsØtddddgƒ}tddddg|d    }tddddg|d    }td
d d d g|d    }t|||dœƒ}tddddgƒ}tddddg|d    }tddddg|d    }td
d d d g|d    }t|||dœƒ}| |¡}t|jƒd ksÔt‚dS)Nr
r ÚcÚeç@g"Àç@gY@r é éréa)Zcol0Úcol2Zcol3r)Zcol1r;Zcol5)rrrrÚlenr'r()rÚidxZser1Zser2Zser3Zframe1Zframe2rr r r!Útest_combine_first_mixed_bug^s
z6TestDataFrameCombineFirst.test_combine_first_mixed_bugcCsˆtddddgddddggddd    d
gd }td d ggd gddgd}| |¡}t ||¡tj|jd<| |¡}d |jd<t ||¡dS)Nçð?ç@FTr7r6rrZbool1Zbool2r&é-r)rr')rr)rrrrÚnpÚnanÚloc)rr0Úotherr2r r r!Ú$test_combine_first_same_as_in_updateps
þ
 
 
z>TestDataFrameCombineFirst.test_combine_first_same_as_in_updatecCs˜tdtjddtjgtjddtjdgdœƒ}tdddtjddgtjtjdddd    gdœƒ}| |¡}td
d d d d dgtjd d dddgdœƒ}t ||¡dS)Nr?ç@r6r@ç@rr7ç@g @rr érr9ré)rrBrCrrr)rÚdf1r1r2Úexpectedr r r!Útest_combine_first_doc_example€s$ÿþÿ
(z8TestDataFrameCombineFirst.test_combine_first_doc_examplecCs”ttjddgdtjdgtjddggƒ}tdtjdgdddggd    d
gd }tdddgd
td }| |¡d
}t ||¡| |¡d
}t ||¡dS) NrGTgffffffÀrIFgÍÌÌÌÌLEÀgÀgš™™™™™ù?rr r )ÚnameÚdtype)rrBrCrÚboolrrr))rrLr1rMÚ    result_12Ú    result_21r r r!Ú-test_combine_first_return_obj_type_with_bools‘s ÿ" zGTestDataFrameCombineFirst.test_combine_first_return_obj_type_with_boolszdata1, data2, data_expectediÐrr rJcCs@td|iƒtd|iƒ}}| |¡}td|iƒ}t ||¡dS)Nr
©rrrr)rÚdata1Údata2Z data_expectedrLr1r2rMr r r!Ú-test_combine_first_convert_datatime_correctly¡s
 zGTestDataFrameCombineFirst.test_combine_first_convert_datatime_correctlycCs$tt d¡dggddgd}tdgdggdgd}|djdksDt‚|djd    ksVt‚| |¡}tt d¡tjgddgd
œddgd}t ||¡|djdks¤t‚|djd    ks¶t‚|j    dd … |¡}tt
j t
j gddgd
œddgd}t ||¡|djd ks t‚|djd    ks t‚dS) Nú
2011-01-01r r
r r&r9rzdatetime64[ns]Úint64©r
r rÚfloat64) rÚpdÚ    TimestamprPr(rÚNaTrrr,rBrC)rZdfaZdfbÚresrr r r!Útest_combine_first_align_nanÄs"
þ " z6TestDataFrameCombineFirst.test_combine_first_align_nanc
CsÚt d¡ d¡}tddg|tjdddd}t d    ¡ d¡}tdd
g|tjd ddd}|dg |¡}ttjd dd tjddd gtjddd tjgdœddgtjddddd}|djdksÆt    ‚|djdksØt    ‚t
  ||¡tjdddd }td|iƒ}tjdddd }td|iƒ}| |¡}t
  ||¡|djdksFt    ‚tj ddddgdd }td|iddd d!gd"}tj d#d$d%gdd }td|idd&d gd"}| |¡}tj dd#dd$ddgdd }    td|    idddd&d d!gd"}t
  ||¡tjdddd }td|iƒ}t dd¡}td|iƒ}| |¡}t
  ||¡|djd'ksHt    ‚tjdd(dd }td|iƒ}t dd¡}td|iƒ}| |¡}tjddd tjd(dd t d¡g}    td|    iƒ}t
  ||¡|djd)ksÖt    ‚dS)*Nz20100101 01:01ÚUTCÚ UTCdatetimeÚabcZ20140627r)Úperiods)r'Údatarz20121212 12:12ZxyzZ20140628z2010-01-01 01:01)Útzz2012-12-12 12:12z2010-01-01 01:01:00)rcrdr r$)reÚfreq)r'rzdatetime64[ns, UTC]z
2015-01-01z
2015-01-05ZDATEz
2015-01-03rYr_z
2011-01-03z
2011-01-04z
US/EasternrJrrr ú
2012-01-01ú
2012-01-02ú
2012-01-03r9zdatetime64[ns, US/Eastern]z
2015-01-02Úobject) r]Ú to_datetimeZ tz_localizerZ
date_rangerr^r_rPr(rrZ DatetimeIndex)
rrVrLrWr1r`rZdts1Údts2Úexp_dtsr r r!Útest_combine_first_timezoneÝs” ý ý  þû÷    
 
ÿÿ
ú÷     
 
  ý  z5TestDataFrameCombineFirst.test_combine_first_timezonecCs®t ddddg¡}td|idddd    gd
}t d d d g¡}td|idddgd
}| |¡}t dd dd ddg¡}td|idddddd    gd
}t ||¡|djdksªt‚dS)Nz1 dayr_z3 dayZ4dayZTDrrJrrr z10 dayz11 dayz12 dayr r9z4 dayztimedelta64[ns])r]ZTimedeltaIndexrrrrrPr()rrVrLrWr1r`rorr r r!Útest_combine_first_timedelta8s
ÿ z6TestDataFrameCombineFirst.test_combine_first_timedeltac        Csptjddddgdd}td|idd    d
d gd }tjd ddgdd}td|iddd
gd }| |¡}tjddddddgdd}td|iddd    dd
d gd }t ||¡|dj|jks¸t‚tjd ddgdd}td|iddd
gd }| |¡}tjdddtjd ddtj    tjdddtjdddtjdddg}td|iddd    dd
d gd }t ||¡|djdkslt‚dS)Nz2011-01r_z2011-03z2011-04ÚM)rhÚPrrJrrr riz2012-02z2012-03r r9z2012-01rjrkr$rl)
r]Z PeriodIndexrrrrrPr(ÚPeriodr_)    rrVrLrWr1r`rorrnr r r!Útest_combine_first_periodFs2
ÿ 
     ú z3TestDataFrameCombineFirst.test_combine_first_periodcCs„tdddddgidd}tdddgidd}| |¡}tdddddgiƒ}t ||¡| |¡}tdddddgiƒ}t ||¡dS)    Nr
rrrJrrZ©rPr9rU)rrLr1rRZ expected_12rSZ expected_21r r r!Útest_combine_first_intes
 
z0TestDataFrameCombineFirst.test_combine_first_intÚvalr?cCsHtd|giƒ}tddgiƒ}| |¡}tdg|gdœƒ}t ||¡dS)NÚisNumÚisBoolT)rzryrU)rrxrLr1r`rr r r!Ú(test_combine_first_with_asymmetric_otherss
 
zBTestDataFrameCombineFirst.test_combine_first_with_asymmetric_othercCsœtddgtjgddœ|d}tdgtjgdœ|d}|jddgdd    |jddgdd    | |¡}tddgtjgddœ|d ddg¡}t ||¡dS)
NZ962Z85r r[rvr
r T)Zinplace)rr]ZNAZ    set_indexrrr)rZnullable_string_dtyper0r1r2rMr r r!Ú'test_combine_first_string_dtype_only_na~sÿ
ÿþzATestDataFrameCombineFirst.test_combine_first_string_dtype_only_naN)Ú__name__Ú
__module__Ú __qualname__r"r3r>rFrNrTÚpytestÚmarkÚ parametrizerr]r_rXrarprqrurwr{r|r r r r!r    sF =  ý  ý  ý  ýðþ
 
[
 
r    zscalar1, scalar2éärr z
2020-01-01r$z
2020-01-02z89 daysz60 min)ÚleftÚrightrJr„)r„r…Úclosedc
Cs¶|}t||ggddgd}t||ggddgd}t|jd|jdgƒ}t|dƒsf|jd|jdkrl|}n|}| |¡}t|||ggdddgd}    |    d |¡|    d<t ||    ¡dS)Nr
r r&r4rl)rrZdtypesrrZastyperr)
Zscalar1Zscalar2Z nulls_fixtureZna_valueÚframerEZ common_dtyperxr2rMr r r!Ú test_combine_first_timestamp_bugs 
rˆcCs†ttjtjggddgd}ttdddƒtdddƒggddgd}| |¡}ttjtdddƒtdddƒggdddgd}t ||¡dS)Nr
r r&rƒrr r4)rr]r_rrrr)r‡rEr2rMr r r!Ú$test_combine_first_timestamp_bug_NaT­sÿ
ÿr‰c CsHtjdddddtjgdddddd    ggddgd
}tdddddddgi|d }tjdddddd gddddddggddgd
}tdddddd    g|d }| td |iƒ¡}tjdddddddddd tjg ddddddddddd    g gddgd
}ttjtjdddddtjdtjdg d dtjddtjtjdtjdtjg dœ|d }t ||¡dS)Nr r4r
rr rJr9rr©Únamesr Údr?r7r@r6rGrH)r4rŒ)    rÚ from_arraysrBrCrrrrr)Zmi1r0Zmi2Úsr`Z mi_expectedrMr r r!Ú&test_combine_first_with_nan_multiindex¼s0 ÿÿþû "þûrcCsÈtddgtdƒd}ttdƒtdƒd}t||dœƒ}tddgtddƒd}ttdd    ƒtddƒd}t||d
œƒ}tddtjtjgd d    dd gtjtjddgd œd d    dd gd}| |¡}t ||¡dS)Nr
r r r rrréÿÿÿÿr)rr#r©rrr#r)rrrrBrCrrr)Za_columnZb_columnrLZc_columnr1rMrr r r!Útest_combine_preserve_dtypesÙs
ý
ú
r’cCsÐtddddgitjdddgtjdd    ggd
d gd d }tddddgitjdddgtjddggd
d gd d }tdddtjgddtjdgdœtjddddgtjdddggd
d gd d }| |¡}t ||¡dS)NÚxé    r%é rr rJrrr
r rŠr Úyr8é ér9rg"@g$@g&@g(@g*@g,@)r“r–r6rHrI)rrrrBrCrrr)rLr1rMrr r r!Ú7test_combine_first_duplicates_rows_for_nan_index_valuesïs& "þ "þ  þÿû    
r™cCsxtdddgdddgdœƒ}tddd    gd
d d gd ddgdœƒ}| |¡}tdddgdddgd ddgdœƒ}t ||¡dS)Nrr rJr9rrrééé(é2é<r8é"éAr‘rU)Zdf_1Zdf_2r2rMr r r!Ú,test_combine_first_int64_not_cast_to_float64s
"
"r¡cCs¶t ddgtjtjgg¡}t ddgtjtjgg¡}tdddgi|d}tdddgi|d}| |¡}t ddddgtjtjtjtjgg¡}tdtjdddgi|d}t ||¡dS)Nrrr
r9r rJ)rrrBrCrrrr)ZmidxZmidx2rLr1r2Z expected_midxrMr r r!Útest_midx_losing_dtypes
ÿr¢)rÚnumpyrBr€Zpandas.core.dtypes.castrZpandas.core.dtypes.commonrZpandasr]rrrrZpandas._testingZ_testingrr    rr‚rtZ    TimedeltaZIntervalrˆr‰rr’r™r¡r¢r r r r!Ú<module>s2    |üþ