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
U
­ý°d‰:ã @sÞddlmZddlZddlZddlZddlmZmZmZddl    m
Z ej   dddgddgg¡dd„ƒZd    d
„Zd d „Zd d„Zdd„Zej   deƒegdedddgdegdedddgdg¡dd„ƒZdd„Zdd„Zdd„Zej   ddd g¡ej   d!dd"d"d#gidd"d#giddd$gfdd"d"d#gidd"d#gid dd"gfd"d"d#gd"d"d%gd&œd"d#gd"d%gd&œddd$gfd"d"d#gd"d"d%gd&œd"d#gd"d%gd&œd dd"gfg¡d'd(„ƒƒZd)d*„Zd+d,„Zej   d-d$gd$d.gdg¡d/d0„ƒZdS)1é)ÚdatetimeN)Ú    DataFrameÚNaTÚconcatÚsubsetÚaÚBc    CsTtdddgdddgdddgdœƒ}t d¡}tjt|d| |¡W5QRXdS)Nré)ÚArÚCzIndex(['a'], dtype='object')©Úmatch)rÚreÚescapeÚpytestÚraisesÚKeyErrorÚdrop_duplicates)rÚdfÚmsg©rúfd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_drop_duplicates.pyÚ0test_drop_duplicates_with_misspelled_column_names"
rc Csøtddddddddgddddddddgddddddddgtdƒdœƒ}| d    ¡}|dd…}t ||¡|jd    d
d }|jd d g}t ||¡|jd    dd }|jg}t ||¡t|ƒdksÄt‚|jddddg}| t     d    dg¡¡}t ||¡| d    dg¡}t ||¡|jdd
d }|jddd d g}t ||¡|jddd }|jdg}t ||¡|jdd…d    ddgf}| ¡}| d    dg¡}t ||¡|jd
d }|jd    dgd
d }t ||¡|jdd }|jd    dgdd }t ||¡| d¡}|j
ddg}t ||¡|jdd
d }|j
ddg}t ||¡|d  d¡|d<| d¡}|j
ddg}t ||¡|jdd
d }|j
ddg}t ||¡td d dddddgdd dddddgdœƒ}|j|j dk}t | ¡|¡tddgddggƒ}t | ¡|¡tddgddggƒ}t | ¡|¡t  tj¡jdd}t| |gd|dggƒ}t | ¡|¡t| |g||dggƒ}t | ¡|¡tdd„tdƒDƒƒ}t|tdgdgdgƒgd d!}d"D] }|j|d  ¡dksÒt‚qÒdS)#NÚfooÚbarÚoneÚtwor    éé©ÚAAArr ÚDr Úlast©ÚkeepééFrér)r rér éþÿÿÿéÿÿÿÿZint8ÚEéé    )ÚxÚyéüÿÿÿcss|]}|gdVqdS)r-Nr)Ú.0ÚirrrÚ    <genexpr>rsz'test_drop_duplicates.<locals>.<genexpr>éT©Ú ignore_index)Úfirstr"F)rÚrangerÚtmÚassert_frame_equalÚlocÚlenÚAssertionErrorÚnpÚarrayÚilocZastypeÚindexZiinfoÚint64ÚmaxrZ
duplicatedÚsum)rÚresultÚexpectedÚdf2r.r$rrrÚtest_drop_duplicatess†üÿ    
 
 
 
  *"rHcCsdtdddgdddgdddggddd    gd
}| ¡}t ||¡| d¡}|dd…}t ||¡dS) Nr    rr(r'r,r%r&rÚb©Úcolumns)rrr9r:)rZresult0Zresult1Z    expected1rrrÚ0test_drop_duplicates_with_duplicate_column_namesys * 
 rLc CsZtddddddddgddddddddgddddddddgtd    ƒd
œƒ}| d ¡}|jd ddd g}t ||¡|jd dd}|jddd dg}t ||¡|jd dd}|jdd g}t ||¡| d dg¡}|jd ddddd g}t ||¡|jd dgdd}|jd dddd dg}t ||¡|jd dgdd}|jd ddd g}t ||¡dS)NrrÚbazÚquxrrr    rrrr rr%r"r#r(r&Frr'r,)rr8rr@r9r:©rrErFrrrÚ!test_drop_duplicates_for_take_all…s2üÿ    
     rPc Csðtddddddddgddddddddgddddddddgtdƒdœƒ}| d    ¡}|dd…}t ||¡|jd    d
d }|jd d g}t ||¡|jd    dd }|jg}t|ƒdks¸t‚t ||¡|jddddg}| d¡}t ||¡dS)Nrrrrr    rr)©ZAAZABrr r!rQr"r#r%r&Frr')rQr)rr8rr9r:r;r<r=rOrrrÚtest_drop_duplicates_tuple©s(üÿ    
 
 
rRrrJr
r ©rAcCs8| ¡}t ||¡| ¡}|jddt ||¡dS)NT©Úinplace)rr9r:Úcopy)rrErrrÚtest_drop_duplicates_emptyÆs
  rWc Cs¬tddddddddgddddddddgdtjtjtjddddgtdƒdœƒ}| d    ¡}|jd
d d g}t ||¡|jd    d d}|jdddg}t ||¡|jd    dd}|jg}t ||¡t|ƒd
ksÐt    ‚| d    dg¡}|jd
d d dg}t ||¡|jd    dgd d}|jddddg}t ||¡|jd    dgdd}|jdg}t ||¡tddddddddgddddddddgdtjtjtjddddgtdƒdœƒ}| d¡}|dd …}t ||¡|jdd d}|jd dg}t ||¡|jddd}|jg}t ||¡t|ƒd
ks"t    ‚| ddg¡}|jd
dd dg}t ||¡|jddgd d}|jdd ddg}t ||¡|jddgdd}|jdg}t ||¡dS)Nrrrrçð?r    r©r
rr r!r
rrr'r"r#r%r&Frr(r r,)
rr>Únanr8rr;r9r:r<r=rOrrrÚtest_drop_duplicates_NAÚshüÿ    
 
     üÿ    
 
    r[c
Cs4tddddddddgdtjtjtjddddgdœƒ}| d    ¡}|jd
d dd d g}t ||¡|jd    dd}|jddd dd g}t ||¡|jd    dd}|jd d g}t ||¡| d¡}|jd
dd dg}t ||¡|jddd}|jdd dd g}t ||¡|jddd}|jd dg}t ||¡dS)NrrrMrNrXg@r')r
r r
rrr(r&r"r#r    r,r%Fr )rr>rZrr@r9r:rOrrrÚ$test_drop_duplicates_NA_for_take_all$s.þÿ
 
  r\c Csàtddddddddgddddddddgddddddddgtdƒdœƒ}| ¡}|jd    d
d }|dd…}|}t ||¡|dks„t‚| ¡}|jd    d d
d }|jddg}|}t ||¡|dksÆt‚| ¡}|jd    dd
d }|jg}|}t ||¡t|ƒdks
t‚|dkst‚| ¡}|jd    dgd
d }|jddddg}|}t ||¡|dksbt‚| ¡}|jd    dgd d
d }|jddddg}|}t ||¡|dks®t‚| ¡}|jd    dgdd
d }|jdg}|}t ||¡|dksôt‚|jdd…d    ddgf ¡}| ¡}|jd
d }| d    dg¡}|}t ||¡|dksPt‚| ¡}|jd d
d }|jd    dgd d}|}t ||¡|dks–t‚| ¡}|jdd
d }|jd    dgdd}|}t ||¡|dksÜt‚dS)Nrrrrr    rrrYr
TrTr")r$rUr%r&Frrr'r(r r#)    rr8rVrr9r:r=r;r<)ÚorigrZ return_valuerFrEZorig2rGrrrÚtest_drop_duplicates_inplaceJs~üÿ         
         r^rUTFz4origin_dict, output_dict, ignore_index, output_indexrr'r    r,)r
rcCs^t|ƒ}t||d}|r0| ¡}|j||dn|j||d}t ||¡t |t|ƒ¡dS)NrS)r6rU)rrVrr9r:)rUZ origin_dictZ output_dictr6Z output_indexrrFZ    result_dfrrrÚ!test_drop_duplicates_ignore_indexšs  r_cCs0td|gddggtd}| ¡}t ||¡dS)Nr    rr)Zdtype)rÚobjectrr9r:)Z nulls_fixturerrErrrÚ*test_drop_duplicates_null_in_object_columnµsrac Csªtdddddgddtjtjtjgddtjtjdgdddddgtdddƒtdddƒtdddƒttgdœƒ}|jD]6}||gj|d    }||j|d    }t ||     ¡¡qndS)
Nr    rrr'Zthreer,iß)rrIÚcÚdÚer#)
rr>rZrrrKrr9r:Zto_frame)r$rÚcolumnZ dropped_frameZdropped_seriesrrrÚ(test_drop_duplicates_series_vs_dataframe¼s"  
 
 
ûûÿ
rfÚargÚTruec    CsBtdddddgiƒ}d}tjt|d|j|dW5QRXdS)Nrr    rr'zC^For argument "ignore_index" expected type bool, received type .*.$r r5)rrrÚ
ValueErrorr)rgrrrrrÚ-test_drop_duplicates_non_boolean_ignore_indexÓsrj)rrÚnumpyr>rZpandasrrrZpandas._testingZ_testingr9ÚmarkZ parametrizerrHrLrPrRrWr[r\r^r_rarfrjrrrrÚ<module>sL  
    ` $ûþ
 
 
J&P  ..üþ