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
U
­ý°dÐ?ã@sZddlmZddlZddlZddlZddlmZmZm    Z    m
Z
ddl m Z Gdd„dƒZdS)é)ÚtimezoneN)Ú    DataFrameÚIndexÚSeriesÚ
date_rangec
@s6eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
  d dde j gddegddegdde j gg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd;d#d$„Ze    j
  d%d&d'g¡e    j
  d(d)d*d"g¡e    j
  d+d)d*g¡e    j
  d,d-d.d/d0g¡d1d2„ƒƒƒƒZd3d4„Zd5d6„Zd7d8„Zd9d:„Zd"S)<ÚTestDataFrameAligncCs:tddddd}tddddd}ttj t|ƒd¡|ƒ}ttj t|ƒd¡|ƒ}| |¡\}}|jj|jjksrt    ‚|jj|jjks†t    ‚| 
d¡}| |¡\}}|jjt j ks°t    ‚|jjt j ksÂt    ‚|j|d    d    d
\}}|jjt j ksêt    ‚|jjt j ksüt    ‚|d    j|d    d
|jjt j ks"t    ‚|jjt j ks6t    ‚dS) NZ2001éÚHz
US/Eastern)ZperiodsÚfreqÚtzZ2Héz
US/Centralr©Úaxis) rrÚnpÚrandomZrandnÚlenÚalignÚindexr ÚAssertionErrorZ
tz_convertrÚutc)ÚselfZidx1Zidx2Údf1Údf2Znew1Znew2Z df1_central©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_align.pyÚtest_frame_align_awares"
z)TestDataFrameAlign.test_frame_align_awarec    sÂ| |¡\}}|j|jk    st‚|j|dd\}}|sF|j|jksVt‚n|j|jk    sVt‚|jdd…dd…f}|j|ddd\}}t |j|j¡|j |j¡}|j     |¡}| 
|¡j }|dk  ¡sÆt‚|j|ddd    \}}t |j|j¡t |j|j¡t |j|j¡|jdd…dd…f  ¡}|j|d
d \}}t |j|j¡t |j|j¡|j |j¡}|j     |¡}| 
|¡j }|dk  ¡sŽt‚|j|d d
d    \}}t |j|j¡|j|d d
d d\}}t |j|j¡|j|jdd…dfd d
ddd\}}t |jtgƒ¡|j|jdd…dfd d
ddd\}}t |jtgƒ¡d}    tjt|    d$|j|jddd…fd dd    W5QRX|j}
ttt|
ƒƒ|
d‰|jˆdd \} } t | j|j¡t | j|j¡t| tƒsàt‚|jˆd
d\} } t | j|j¡‡fdd„|jDƒ} t| |j|jd} t | | ¡td
ddgdddgdœƒ}||ddk}tddggd
gddgd} t || ¡| |ddkd¡}tdddgdddgdœƒ} t || ¡dS)NF)Úcopyéûÿÿÿr réÿÿÿÿ)rÚ
fill_valueÚright)Újoinrér ÚinnerÚpad©r!rÚmethod©r!rr&rz)No axis named 2 for object type DataFrame©Úmatché©r)Zbroadcast_axiscsi|]
}|ˆ“qSrr)Ú.0Úc©ÚsrrÚ
<dictcomp>ssz7TestDataFrameAlign.test_align_float.<locals>.<dictcomp>©rÚcolumnséré©ÚaÚbr6r7)rZ_mgrrÚilocÚtmÚassert_index_equalr2rr!Ú
differenceÚreindexÚvaluesÚallrrÚpytestÚraisesÚ
ValueErrorrÚrangerÚ
isinstancerÚassert_frame_equalÚwhere)rÚ float_frameZusing_copy_on_writeÚafÚbfÚotherZjoin_idxZdiff_aZ diff_a_valsÚmsgÚidxÚleftr ÚexpectedÚdfÚresultrr.rÚtest_align_float+sŒ    ÿ
ÿ
(ÿ  z#TestDataFrameAlign.test_align_floatcCs@ttdƒdddgd}|j|dddd    \}}t |j|j¡dS)
NrÚAÚBÚCr1r#r"r$r%)rrBrr9r:r2)rZ    int_framerIrGrHrrrÚtest_align_intƒsz!TestDataFrameAlign.test_align_intcCs*|j|dddd\}}t |j|j¡dS)Nr#r"r$r%)rr9r:r2)rZfloat_string_framerGrHrrrÚtest_align_mixed_typeŠsÿ
z(TestDataFrameAlign.test_align_mixed_typecCsRttdƒdddgd}|j|jdd…dfddddd    \}}t |jtgƒ¡dS©
NrrQrRrSr1rr#r"r'©rrBrr8r9r:rr)rZmixed_float_framerIrGrHrrrÚtest_align_mixed_floatsÿ
z)TestDataFrameAlign.test_align_mixed_floatcCsRttdƒdddgd}|j|jdd…dfddddd    \}}t |jtgƒ¡dSrVrW)rZmixed_int_framerIrGrHrrrÚtest_align_mixed_int™sÿ
z'TestDataFrameAlign.test_align_mixed_intzl_ordered,r_ordered,expectedTFcCs¶ttjdddttdƒƒ tjtdƒ|d¡dœƒ d¡}ttjd    ddttd
ƒƒ tjtdƒ|d¡dœƒ d¡}|     |¡\}}t
|j |ƒs’t ‚t
|j |ƒs¢t ‚t  |j |j ¡dS) Nr4Úint64©ZdtypeZaabbcaZcab)Zordered)rQrRrRrZbabca)rrÚarangerÚlistZastypeÚpdZCategoricalDtypeZ    set_indexrrCrrr9r:)rZ    l_orderedZ    r_orderedrMZdf_1Zdf_2Z    aligned_1Z    aligned_2rrrÚtest_align_categorical¡s,   ÿþÿù  ÿþÿù    z)TestDataFrameAlign.test_align_categoricalc     Cs„tjjtdƒtdƒtdƒgdd}ttdƒdd}ttjddd    |d
}ttjddd    |d
}|j|d d \}}|j|d d \}}|}    t     
|    |¡t     
|    |¡tddddtj tj gd|d
}
t     
|
|¡t     
|
|¡|j|d d \}}|j|d d \}}tjjtdƒtdƒtdƒgdd} tddddddddg| d
}    t     
|    |¡t     
|    |¡tddddgd| d
}
t     
|
|¡t     
|
|¡dS)Nr*r )r6r7r-)Únamesr7©Únameé rZr[r+rL)r!r rr"r4ééé    ) r^Ú
MultiIndexÚ from_productrBrrrr\rr9rDÚnan) rZmidxrKrrZres1lZres1rZres2lZres2rZexplÚexprZexp_idxrrrÚtest_align_multiindexÂs6ÿ     ÿ   z(TestDataFrameAlign.test_align_multiindexcCsàtdddgdddgdœtdƒd}tdddgtd    ƒd
d }|j|d d \}}tdtjdtjdgdtjdtjdgdœtdƒd}tddtjdtjgtdƒd
d }t ||¡t ||¡| |¡\}}t ||¡t ||¡dS)Nr"r rr5ZACEr+r*r3ZABDÚx©rrbrr ZABCDE)    rr]rrrrir9rDÚassert_series_equal)rrNr/Zres1Zres2Zexp1Zexp2rrrÚtest_align_series_combinationsås"$þ    z1TestDataFrameAlign.test_align_series_combinationscCsœtdddgdd}tddgdd}tddg|dd}td    t d
¡itj ||g¡d }tddgd|jdd}|j    |d d \}}t
  ||¡t
  ||¡dS)Nr"r*r ÚfooraÚbarÚ
foo_seriesrmÚcolr4r+rr © rrrrr\r^rgrhrrr9rDrn©rÚ    foo_indexÚ    bar_indexÚseriesrNZ
expected_rZresult_lZresult_rrrrÚ7test_multiindex_align_to_series_with_common_index_levelùs þ zJTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_levelcCs°tdddgdd}tddgdd}tddddgtddddgdddd    }td
t d ¡itj ||g¡d }tddgd|jdd    }|j    |d d\}}t
  ||¡t
  ||¡dS)Nr"r*r rprarqr3rrrmrsr4r+rr rtrurrrÚGtest_multiindex_align_to_series_with_common_index_level_missing_in_left
s
ÿ þ zZTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_missing_in_leftcCs´tdddgdd}tddddgdd}tddgtddgdddd    }td
t d ¡itj ||g¡d }tddtjtjgd|j    dd    }|j
|d d\}}t   ||¡t   ||¡dS)Nr"r*r rprar3rqrrrmrsrcr+rr ©rrrrr\r^rgrhrirrr9rDrnrurrrÚHtest_multiindex_align_to_series_with_common_index_level_missing_in_rights þÿ z[TestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_missing_in_rightcCs²tdddgdd}tdddgdd}tdddgtdddgdddd    }td
t d ¡itj ||g¡d }tdtjdgd|j    dd    }|j
|d d\}}t   ||¡t   ||¡dS)Nr"r*r rprar3rqrrrmrsrfr+rr r{rurrrÚGtest_multiindex_align_to_series_with_common_index_level_missing_in_both0sÿ þ zZTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_missing_in_bothcCs°tdddgdd}tddgdd}tddg|dd}tt d    ¡ d
d¡tj ||g¡d }d d d g|_    tddgd|j
dd}|j |dd\}}t   ||¡t  |j    |j    ¡dS)Nr"r*r rprarqrrrmér4r+ZcfooZcbarrr )rrrrr\Úreshaper^rgrhr2rrr9rnr:)rrvrwrxrNrMZ result_leftZ result_rightrrrÚGtest_multiindex_align_to_series_with_common_index_level_non_unique_colsCsþ  zZTestDataFrameAlign.test_multiindex_align_to_series_with_common_index_level_non_unique_colsc    CsJtt d¡ d¡ƒ}tt d¡ƒ}tjtdd| |¡W5QRXdS)Né2)é
rrz axis=0 or 1r()    rrr\rrr?r@rAr)rrNrxrrrÚ)test_missing_axis_specification_exceptionUsz<TestDataFrameAlign.test_missing_axis_specification_exceptionNcCsÜ|j||||||d\}}    d\}
} ||} } |dks<|dkrf|jj|j|d}
| j|
d} | j|
d} |dksv|dkr |jj|j|d} | j| d} | j| d} | j|||d} | j|||d} t || ¡t |    | ¡dS)    N)rr!r&ÚlimitÚ    fill_axis)NNr)Úhowr+r")r2)rr&r„)rrr!r<r2Zfillnar9rD)rr6r7rr…r†r&r„ZaaÚabZ
join_indexZ join_columnsZeaZebrrrÚ _check_align\s,ÿ
 
     zTestDataFrameAlign._check_alignÚmethr$ZbfillÚaxrr"Úfaxr†r#ÚouterrLr cCs|}| |||||¡dS)N)Ú_check_align_fill)rr†r‰rŠr‹rFrNrrrÚtest_align_fill_methodtsz)TestDataFrameAlign.test_align_fill_methodc        Csþ|jdd…dd…f}|jdd…dd…f}|jdd…dd…f}|j||||||d|j||||||dd|j||||||d|j||||||dd|j||||||d|j||||||dd|j||||||d|j||||||dddS)    Nrr3r‚r*r4)rr…r†r&r")rr…r†r&r„)r8rˆ)    rÚframeÚkindr‰rŠr‹rLr Úemptyrrrr|sVÿÿÿÿz$TestDataFrameAlign._check_align_fillcCsRtdddgiƒ}tdgdd}| ¡}|j|dd\}}d|jd<t ||¡dS)Nrr"r*rar éd)rrrrr8r9rn)rrNÚserrMrOrIrrrÚtest_align_series_check_copy˜s 
z/TestDataFrameAlign.test_align_series_check_copycCsbtdddgiƒ}tddgƒ}|j|dd\}}t ||¡t ||¡||k    sRt‚||k    s^t‚dS)Nr6r"r*r r3rr ©rrrr9rDrnr©rrNr“rOZresult2rrrÚ%test_align_identical_different_object¡s    z8TestDataFrameAlign.test_align_identical_different_objectcCsftdddgiƒ}tdgdgd}|j|dd\}}t ||¡t ||¡||k    sVt‚||k    sbt‚dS)Nr6r"r*r+r r•r–rrrÚ-test_align_identical_different_object_columns«s   z@TestDataFrameAlign.test_align_identical_different_object_columns)N)Ú__name__Ú
__module__Ú __qualname__rrPrTrUrXrYr?ÚmarkZ parametrizer^ZCategoricalIndexrr_rkroryrzr|r}r€rƒrˆrŽrr”r—r˜rrrrrsBX    
 
üþ    
#
    
r)ÚdatetimerÚnumpyrr?Zpandasr^rrrrZpandas._testingZ_testingr9rrrrrÚ<module>s