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
U
­ý°d´Bã@s€ddlZddlZddlZddlmmZddlZ    ddlm
Z
m Z m Z ddl mZGdd„dƒZGdd„dƒZGdd„dƒZdS)    éN)Ú    DataFrameÚSeriesÚisnac    @s€eZdZdd„Zej ddddddg¡d    d
„ƒZej d e     dddg¡e
     d d dg¡g¡dd„ƒZ ej dddg¡dd„ƒZ dS)ÚTestDataFrameCovc    Csæ| ¡}|jt|ƒd}t ||¡|jt|ƒdd}t|jƒ ¡sJt‚| ¡}t    j
|j dd…|j   d¡f<t    j
|j dd…|j   d¡f<|jt|ƒdd}| ¡}t    j
|jd<t    j
|jd    <t ||¡| ¡}|d |d
¡}t |dd
|¡tjtd d | ¡W5QRX|jd d}|jdd…ddd
dgf ¡}t ||¡tt     ddd¡ƒ}| ¡}tt     |jj¡ d¡|j |j d}t ||¡t    j
|jd<| ¡}tt     |jdd…j¡ d¡|j |j d}t ||¡dS)N)Ú min_periodsééÚAé
ÚBé©r    r ©r r    ÚCú!could not convert string to float©ÚmatchT©Ú numeric_onlyÚDççð?)rr©ÚindexÚcolumnsr)ÚcovÚlenÚtmÚassert_frame_equalrÚvaluesÚallÚAssertionErrorÚcopyÚnpÚnanÚilocrZget_locÚlocÚassert_almost_equalÚpytestÚraisesÚ
ValueErrorrZlinspaceÚTÚreshape)ÚselfÚ float_frameÚfloat_string_frameÚexpectedÚresultÚframeÚdf©r4ú_d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_cov_corr.pyÚtest_covsJ      ÿ  ýzTestDataFrameCov.test_covÚ    test_ddofNrréécCsZtj d¡}tj d¡}t||dœƒ}|j|d}tj|||d}t|ƒ}t ||¡dS)Nr
©rr)Zddof)r#ÚrandomZrandrrrr)r-r7Z    np_array1Z    np_array2r3r1Z expected_npr0r4r4r5Ú test_cov_ddofBs   zTestDataFrameCov.test_cov_ddofÚ other_columnrç@ç@cCs^tt dddg¡|dœƒ}| ¡}t ddgddgg¡}t|ddgddgd}t ||¡dS)    Nrr8©ÚaÚbçà?rrArB©rr)rÚpdÚarrayrr#rr)r-r=Údatar1Zarrr0r4r4r5Útest_cov_nullable_integerMs
z*TestDataFrameCov.test_cov_nullable_integerrTFc    Csptddgddgdœƒ}tddgdgd}|rF|j|d    }t ||¡n&tjtd
d |j|d    W5QRXdS) NrrÚxÚy)rAÚcrCrArrrr)rrrrr(r)r*)r-rr3r0r1r4r4r5Útest_cov_numeric_onlyXs z&TestDataFrameCov.test_cov_numeric_only) Ú__name__Ú
__module__Ú __qualname__r6r(ÚmarkÚ parametrizer<rErFr#rHrLr4r4r4r5rs0
 
ÿ
rc @sÈeZdZej ddddg¡ejdd„ƒƒZdd„Z    ejej d    dddg¡d
d „ƒƒZ
ej d    ddg¡d d „ƒZ ejej d    dddg¡dd„ƒƒZ ej dddg¡dd„ƒZ dd„Zdd„Zejej de dddg¡e dddg¡g¡ej de dddg¡e ddd g¡e ddejg¡g¡ej ddddg¡d!d"„ƒƒƒƒZd#d$„Zej d%dd&d'd(g¡d)d*„ƒZd+d,„Zejej ddddg¡d-d.„ƒƒZejej d    dddg¡ej d/d0d1g¡d2d3„ƒƒƒZdS)4ÚTestDataFrameCorrÚmethodZpearsonÚkendallÚspearmancCs’tj|j|jdd…df<tj|j|jdd…df<|ddd…|j|jdd…df<|j|d}|dj|d|d}t |dd|¡dS)Nrr    r
r é©rSr)r#r$r&rÚcorrrr')r-r.rSÚcorrelsr0r4r4r5Útest_corr_scipy_methodjs $ z(TestDataFrameCorr.test_corr_scipy_methodc    Cs\tjtdd| ¡W5QRX|jdd}|jdd…ddddgf ¡}t ||¡dS)    NrrTrr    r rr)r(r)r*rXr&rr)r-r/r1r0r4r4r5Útest_corr_non_numericws
 z'TestDataFrameCorr.test_corr_non_numericÚmethc    Cs´tdddtjtjtjgtjtjtjdddgtjtjtjtjtjtjgdœƒ}| |¡}t|jdƒsht‚t|jdƒszt‚|jddksŒt‚|jddksžt‚t|jdƒs°t‚dS)    Nrgø?©r    r rr r)r    r    )r r )rr)rr#r$rXrr&r!©r-r\r3Úrsr4r4r5Útest_corr_nooverlap~sýÿ
z%TestDataFrameCorr.test_corr_nooverlapcCsRtdddtjtjtjgtjtjtjdddgdœƒ}| |¡}t|jƒ ¡sNt‚dS)Nrr )rr#r$rXrrr r!r^r4r4r5Útest_corr_constantsþÿ
z$TestDataFrameCorr.test_corr_constantc    Csptddgddgdœƒ}tt d¡ddgddgd    }tjdd
t d t¡| |¡}W5QRXt     ||¡dS) NTFrrr@©r8r8rArBr)ÚrecordÚignore)
rr#ÚonesÚwarningsÚcatch_warningsÚ simplefilterÚRuntimeWarningrXrr)r-r\r3r0r1r4r4r5Útest_corr_int_and_booleanœs  z+TestDataFrameCorr.test_corr_int_and_booleanrrXcCsRttj d¡ dd¡tdƒd}t||ƒƒ}|j|jk    s<t    ‚|j 
|j¡sNt    ‚dS)Né(r
éZabcd©r) rr#r;Úrandnr,ÚlistÚgetattrrrr!Úequals)r-rSr3r1r4r4r5Ú&test_corr_cov_independent_index_column«s  z8TestDataFrameCorr.test_corr_cov_independent_index_columnc    Cs@ttjjddƒ}d}tjt|d|jddW5QRXdS)N©r
r8©ÚsizezGmethod must be either 'pearson', 'spearman', 'kendall', or a callable, rZ____rW)rr#r;Únormalr(r)r*rX)r-r3Úmsgr4r4r5Útest_corr_invalid_method³sz*TestDataFrameCorr.test_corr_invalid_methodcCs2tddddgddddgdœƒ}| ¡| ¡dS)Nrr8r9rlr@)rrrX)r-r3r4r4r5Ú test_corr_intºszTestDataFrameCorr.test_corr_intÚnullable_columnrr8r9Nr=rr>r?cCsFt||dœƒ}|j|d}tt d¡ddgddgd}t ||¡dS)Nr@rWrbrArBrD)rrXr#rerr)r-rzr=rSrGr1r0r4r4r5Útest_corr_nullable_integerÁs  z,TestDataFrameCorr.test_corr_nullable_integercCs²tdtdƒiƒ}tdƒddd…|d<|d}t|jjƒdksBt‚|jdd}|rpd|jd    <|jd
d    ks®t‚n>d|j    d    <|jd
dksŒt‚|d|ksœt‚|j    d dks®t‚dS) Nr    r
éÿÿÿÿr r8Trécr)rr    )rr)
rÚrangerZ_mgrZarraysr!rXr%r&r)r-Zusing_copy_on_writer3ZserÚ_r4r4r5Útest_corr_item_cacheÑs 
 
z&TestDataFrameCorr.test_corr_item_cacheÚlengthrVéÈiÐcCsXt|ddggddgd}| ¡}ttjtjgtjtjgdœddgd}t ||¡dS)N皙™™™™Ù?gš™™™™™¹?r    r rmr ©r©rrXr#r$rr)r-rr3r1r0r4r4r5Útest_corr_for_constant_columnsæsÿz0TestDataFrameCorr.test_corr_for_constant_columnscCsPtdddgdddgdœƒ}| ¡}tddgddgdœddgd}t ||¡dS)    Ng#B’ ¡œÇ;g#B’ ¡œ×;g›±mÉxµá;r rr    r r„©rrXrr©r-r3r1r0r4r4r5Útest_calc_corr_small_numbersðs ÿz.TestDataFrameCorr.test_calc_corr_small_numberscCsZtddgddgdœƒ}|j|dd}ttjtjgtjtjgdœddgd}t ||¡dS)    Nrr8r r9)rSrr    r r„r…)r-rSr3r1r0r4r4r5Ú)test_corr_min_periods_greater_than_lengthùsÿz;TestDataFrameCorr.test_corr_min_periods_greater_than_lengthrTFc    Cs„tddgddgddgdœƒ}tt d¡ddgddgd    }|rX|j||d
}t ||¡n(tjtd d |j||d
W5QRXdS) NrrrIrJ©rArBrKrbrArBrrrr)    rr#rerXrrr(r)r*)r-r\rr3r0r1r4r4r5Útest_corr_numeric_onlysz(TestDataFrameCorr.test_corr_numeric_only)rMrNrOr(rPrQÚtdÚskip_if_no_scipyrZr[r`rarjrrrxryrErFr#r$r{r€r†r‰rŠrŒr4r4r4r5rRgsL  
 
ÿ.þ
         rRc@seZdZdd„Zdd„Zdd„Zdd„Zej     d    d
d g¡d d „ƒZ
dd„Z dd„Z dd„Z dd„Zejdd„ƒZejdd„ƒZejdd„ƒZdS)ÚTestDataFrameCorrWithcCs®|}ttj t|ƒ¡|jd}|j|dd}|j|jddd…|jddd…dd…d}|d=|j    |dd}t
  |d|d  |d¡¡|j    |d    d}t
  ||jj    |jdd¡|j    |dd
d }t
  |d|d  |d¡¡d|ksît‚|j    |d    d
d }|jd|jkst‚d d dddg}ddddg}    ttj dd¡||    d}
ttj dd¡|dd…|    d} |
j    | d    d} |dd…D](} t
  | | |
j|   | j| ¡¡q€dS)Nr„r©Úaxisr|r
rDr r    rT)r‘ÚdroprArBrKÚdÚeZoneZtwoZthreeZfourrrlr)rr#r;rnrrÚaddZreindexrÚcorrwithrr'rXÚassert_series_equalr+r!rr&)r-Údatetime_framerAZnoiserBZcolcorrZrowcorrZdroppedrrÚdf1Údf2rYÚrowr4r4r5Ú test_corrwiths*.   z#TestDataFrameCorrWith.test_corrwithc    Cst ¡}t ¡}ddddg}d|d<d|d<tjtdd    | |¡W5QRX|j|d
d }|jdd…|f |jdd…|f¡}t ||¡tjtd d    |j|d dW5QRX|j|d d
d}|jdd…|fj|jdd…|fd d}t ||¡dS)Nr    r rrZfooÚobjÚbarzCould not convertrTrzunsupported operand typerr)r‘r)rZmakeTimeDataFramer(r)Ú    TypeErrorr–r&r—)r-r™ršÚcolsr1r0r4r4r5Útest_corrwith_with_objects5s & *z0TestDataFrameCorrWith.test_corrwith_with_objectscCs.| |d¡}| |dj¡}t ||¡dS)Nr    )r–ÚapplyrXrr—)r-r˜r1r0r4r4r5Útest_corrwith_seriesIsz*TestDataFrameCorrWith.test_corrwith_seriescCsrtt d¡dgd}tt d¡ddgd}| |¡d}t |d|d¡dd}t ||¡|dksnt‚dS)Ni'rArmr8rr)rr#Úaranger–Zcorrcoefrr'r!)r-r™ršZc1Úc2r4r4r5Útest_corrwith_matches_corrcoefOs  z4TestDataFrameCorrWith.test_corrwith_matches_corrcoefrTFc    Cs°tddddgddddgddd    d
gd œƒ}td dddgƒ}|r„|j||d }|d |¡|d |¡g}t|ddgd}t ||¡n(tjtdd|j||d W5QRXdS)Nrrlr9r8éérArBrKr“r‹rr)rGrz4unsupported operand type\(s\) for /: 'str' and 'int'r)    rrr–rXrr—r(r)rŸ)r-rr3Úsr1Zcorrsr0r4r4r5Útest_corrwith_mixed_dtypesXs"ÿþz0TestDataFrameCorrWith.test_corrwith_mixed_dtypescCslttjjddddgd}ttjjdddddgd}|j|dd    j ¡}|j |j¡ ¡}t     ||¡dS)
NrsrtrArBrm©r
r9rKT©r’)
rr#r;r–rÚ sort_valuesrÚ intersectionrÚassert_index_equal©r-r™ršr1r0r4r4r5Ú test_corrwith_index_intersectionks
z6TestDataFrameCorrWith.test_corrwith_index_intersectioncCslttjjddddgd}ttjjdddddgd}|j|dd    j ¡}|j |j¡ ¡}t     ||¡dS)
NrsrtrArBrmr«rKFr¬)
rr#r;r–rr­rÚunionrr¯r°r4r4r5Útest_corrwith_index_unionss
z/TestDataFrameCorrWith.test_corrwith_index_unioncCsntt t d¡gd¡jƒ}| ¡}tj||dfdd}| |¡}t    t 
d¡ddddgd}t   ||¡dS)    Nr
r9rrrrlr8r„) rr#Zvstackr¤r+r"rEÚconcatr–rrerr—r°r4r4r5Útest_corrwith_dup_cols{s 
z,TestDataFrameCorrWith.test_corrwith_dup_colscCsNtddgddggƒ}| ¡}tddgddgdœƒ}tj|d|ddddS)    Ngš™™™™™É?rƒrgð¿r:rg—ÔFFõg<)Zatolr‡rˆr4r4r5Ú!test_corr_numerical_instabilities…sz7TestDataFrameCorrWith.test_corr_numerical_instabilitiescCsFttjjddƒ}|j|ddd}tt t|ƒ¡ƒ}t ||¡dS)N©édr9rtr8rUrW©    rr#r;r–rrerrr—rˆr4r4r5Útest_corrwith_spearmanŒsz,TestDataFrameCorrWith.test_corrwith_spearmancCsFttjjddƒ}|j|ddd}tt t|ƒ¡ƒ}t ||¡dS)Nr·rtr8rTrWr¹rˆr4r4r5Útest_corrwith_kendall”sz+TestDataFrameCorrWith.test_corrwith_kendallcCsÊtdtjddgddddgdddd    gd
œƒ}|d d g}|dj|jd d}tdddgdd d gd}t ||¡tddddgddddgdœƒ}tddddgƒ}| |¡}tddgdd gd}t ||¡dS)Nrr¨r FTr
rlé    r9r]r rrUrWrrr    r„r g( µ¦yâ?)rr#r$r–r rrr—)r-r™ršr1r0Zdf_boolZser_boolr4r4r5Ú%test_corrwith_spearman_with_tied_dataœs" 
 
ýÿ  ÿ
z;TestDataFrameCorrWith.test_corrwith_spearman_with_tied_dataN)rMrNrOrœr¡r£r¦r(rPrQrªr±r³rµr¶rrŽrºr»r½r4r4r4r5rs      
 
 
 
r)rfÚnumpyr#r(Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrZpandasrErrrZpandas._testingZ_testingrrrRrr4r4r4r5Ú<module>s V.