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
U
­ý°dÐ(ã@sVddlZddlZddlZddlZddlZddlmZmZddl    m
Z Gdd„dƒZ dS)éN)Ú    DataFrameÚSeriesc@s–eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zej dddg¡d d!„ƒZd"S)#ÚTestDataFrameMissingDatac Cs
t|jƒ}tj |¡}tj|dd…<td|i|jd}t||jdd}| ¡}|     ¡|     ¡}}|jdd}    t
  |d|¡|jddd}
t
  |    d|¡t
  |d|¡|
dks¶t ‚|jddgd    }    |jddgdd
}
t
  |    d|¡t
  |d|¡|
dkst ‚dS) NéÚfoo©Úindex©rÚnameÚall©ÚhowT)r Úinplace)r Úsubset)r rr) ÚlenrÚnpÚrandomÚrandnÚnanrrÚdropnaÚcopyÚtmÚassert_series_equalÚAssertionError) ÚselfÚ float_frameÚNÚmatÚframeÚoriginalÚexpectedZinplace_frame1Zinplace_frame2Ú smaller_frameÚ return_value©r#ú]d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_dropna.pyÚtest_dropEmptyRowss$
   z+TestDataFrameMissingData.test_dropEmptyRowsc CsFt|jƒ}tj |¡}tj|dd…<td|i|jd}d|d<t||jdd}| ¡| ¡}}|     ¡}t
  |d|¡|j    dd}    t|dd…|jdd…dd}
t
  |d|
¡t
  |d|
¡|    dksÐt ‚|j    dgd} t
  |d|¡|ddk  ¡st ‚|j    dgdd    }    t
 | j|j¡t
 |j|j¡|    dksBt ‚dS)
NrrrÚbarr    T©r©r)rr)rrrrrrrrrrrrrr Zassert_index_equal) rrrrrrZ
inp_frame1Z
inp_frame2r!r"ÚexpZsamesize_framer#r#r$Útest_dropIncompleteRows(s*
    z0TestDataFrameMissingData.test_dropIncompleteRowsc    Cs®ttj dd¡ƒ}tj|jdd…df<|jdd}|jdd…dddgf}| ¡}|jddd    }t     
||¡t     
||¡|dks„t ‚|jdd}|jt t ddƒƒ}| ¡}|jddd    }t     
||¡t     
||¡|dksÞt ‚|jdd
d }|jdd…dddgf}| ¡}|jdd
dd }t     
||¡t     
||¡|dksBt ‚|jddd }|jt ddƒ}| ¡}|jdddd }t     
||¡t     
||¡|dksžt ‚|jddd }t     
||¡|jddd }t     
||¡|jddddgd }| ¡}|jddddgdd}t     
||¡t     
||¡|dks*t ‚|jddd}t     
||¡tj|d<|jddd}|jdd…dddgf}t     
||¡d}tjt|d|jddW5QRXdS)Néééé©ÚaxisréT)r0rr)r0Úthresh)r0r2r)r0r)r0rrr )r0r z)No axis named 3 for object type DataFrame©Úmatch)rrrrrÚilocrÚlocrrÚassert_frame_equalrÚlistÚrangeÚpytestÚraisesÚ
ValueError)rÚdfZdroppedr Úinpr"Úmsgr#r#r$Ú test_dropnaCsb                 
 z$TestDataFrameMissingData.test_dropnacCstddtjgdd}tddg|jdd}td|j ¡iƒ}| ¡}|d ¡t     |d|¡|d}|jdd}t     ||¡t     |d|¡|dksšt
‚|d  dg¡t     |d|¡|d}|j dgdd}t     ||  dg¡¡t     |d|¡|dkst
‚dS)Nr.r-ÚA)r
)Údtyper
Tr') rrrrBrÚvaluesrrrrrZdrop)rrr r=Zdf2Zserr"r#r#r$Útest_drop_and_dropna_caching„s$    z5TestDataFrameMissingData.test_drop_and_dropna_cachingc    CsXd}tjt|d|jddW5QRXtjtdd|jddgdW5QRXdS)    Nzinvalid how option: foor3rr z    ^\['X'\]$rAÚXr()r:r;r<rÚKeyError)rrr?r#r#r$Útest_dropna_cornerœs
z+TestDataFrameMissingData.test_dropna_cornerc    CsÈtdtjddgdtjddgtjtjtjtjgdtjdd    ggƒ}tjtd
d |jd d dgdW5QRXtjtd
d |jd ddW5QRX| ¡}tjtd
d |jd dddW5QRXdS)Nr.r-r1r,rr+ééé    zsupplying multiple axesr3r r)r r0)rr.T)r r0r)rrrr:r;Ú    TypeErrorrr)rr=r>r#r#r$Útest_dropna_multiple_axes¥s   üÿ
z2TestDataFrameMissingData.test_dropna_multiple_axescCs°tƒ}tjdddtj ¡d}tjdddtj ¡d}|g|d<|jdd}td|giƒ}t ||¡td|dtj    |giƒ}|jdd}t||gdgddgd    }t ||¡dS)
Nißr.)Útzinfor-ZTimerr/r1)Úcolumnsr)
rÚdatetimeÚdateutilÚtzZtzutcrrr7rr)rr=Zdt1Zdt2Úresultr r#r#r$Útest_dropna_tz_aware_datetime¹s
   z6TestDataFrameMissingData.test_dropna_tz_aware_datetimecCsNtj ddddg¡}t |¡}tdtdƒi|d}|}| ¡}t ||¡dS)Nrg=
×£p=@g…ëQ¸    @g…ëQ¸@rAÚabcr)    ÚpdZ IntervalIndexZ from_breaksZCategoricalIndexrr8rrr7)rÚiiÚcir=r rRr#r#r$Ú&test_dropna_categorical_interval_indexÉs 
z?TestDataFrameMissingData.test_dropna_categorical_interval_indexc    CsÈttj d¡tj d¡tj d¡dddddgdœƒ}tj|jdd    d
dgf<tj|jd <tj|jd <tj|jdd…d f<|jdddgdd}ddddg|_ddddg|_|jddgdd}t     ||¡dS)NrÚaÚbÚcÚdÚe)rAÚBÚCÚDr-rr.)rr)r.r.r1rAr^r_r )rr )
rrrrrr5rrNrr7©rr=r rRr#r#r$Ú"test_dropna_with_duplicate_columnsÓs 
 
 
 üÿ  z;TestDataFrameMissingData.test_dropna_with_duplicate_columnscCsbtdddgtdƒdtjdgdœƒ}tddgtdƒd    d
gdœd dgd }|jd d}t ||¡dS)Nr.r-r1rTr,r©rAr^r_Úacç@g@rrr_r()rr8rÚNaNrrr7rar#r#r$Útest_set_single_column_subsetès"ÿ z6TestDataFrameMissingData.test_set_single_column_subsetc    Cs>tddddgiƒ}tjtdd|jddd    W5QRXdS)
NrAr.r-r1z['D']r3r`r)rr0)rr:r;rFr)rr=r#r#r$Ú&test_single_column_not_present_in_axisñsz?TestDataFrameMissingData.test_single_column_not_present_in_axiscCs`tddtjgtdƒdtjdgdœƒ}tdgdgd    gdœƒ}|jt d
d g¡d }t ||¡dS) Nr.r-rTr,rrcgð?rYrerAr_r()rrrfr8rÚarrayrr7rar#r#r$Útest_subset_is_nparrayùs$z/TestDataFrameMissingData.test_subset_is_nparraycCsHtddgddggt dd¡d}| ¡}|j|d}tj||dd    dS)
Nr.r-r1r,r)rNr/T)Zcheck_index_type)rrUZ
RangeIndexrrrr7)rr0r=r rRr#r#r$Útest_no_nans_in_frames  z.TestDataFrameMissingData.test_no_nans_in_framec    Cstddtjgƒ}d}tjt|d|jdddW5QRXtjt|d|jdddW5QRXtjt|d|jdddW5QRXdS)Nr.r-zAYou cannot set both the how and thresh arguments at the same timer3r )r r2Úany)rrUZNAr:r;rKr)rr=r?r#r#r$Ú"test_how_thresh_param_incompatiblesz;TestDataFrameMissingData.test_how_thresh_param_incompatibleÚvalr.gø?cCsdtddd|gidddgd}|jdd}tddd|giƒ}t ||¡|jdddt ||¡dS)    NrYr.r-r1rT)Ú ignore_index)ror)rrrr7)rrnr=rRr r#r#r$Útest_dropna_ignore_indexs   z1TestDataFrameMissingData.test_dropna_ignore_indexN)Ú__name__Ú
__module__Ú __qualname__r%r*r@rDrGrLrSrXrbrgrhrjrkrmr:ÚmarkZ parametrizerpr#r#r#r$rs A    
     r) rOrPÚnumpyrr:ZpandasrUrrZpandas._testingZ_testingrrr#r#r#r$Ú<module>s