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
U
®ý°dS7ã    @sÔddlZddlZddlmZmZmZmZmZm    Z    m
Z
m Z m Z m Z mZmZmZddlmZdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z ej! "dddg¡ej! "d d!de dƒg¡d"d#„ƒƒZ#d$d%„Z$d&d'„Z%ej! "d(e
d)d*ƒe
d+d*ƒge
d)d*ƒe
d+d*ƒd,gd-d-gd-d-ej&gfe
d)d*ƒe
d+d*ƒge
d)d*ƒe
d+d*ƒgd-d-gd-d-gfg¡d.d/„ƒZ'd0d1„Z(d2d3„Z)d4d5„Z*ej! "d6d7gd8gggggg¡d9d:„ƒZ+d;d<„Z,d=d>„Z-dS)?éN) ÚNAÚ CategoricalÚ Float64DtypeÚIndexÚ
MultiIndexÚNaTÚPeriodÚ PeriodIndexÚSeriesÚ    TimedeltaÚ    TimestampÚ
date_rangeÚisnac CsH| |j¡}zt |j|j¡s"t‚Wntk
r8YnX|j |j¡sLt‚|j |j¡s^t‚|jdd…}| |¡}| ¡D]\}}|||ks~t‚q~|jdd…}| |¡}| ¡D]\}}|||ks¸t‚q¸| |¡}    t     |    ¡ 
¡sît‚|jddd…}
| |
¡} |  ¡D]\}}|||kst‚q| ¡} | |k    sDt‚dS)Né
éé) ÚreindexÚindexÚnpZmay_share_memoryÚAssertionErrorÚAttributeErrorÚis_Z    identicalÚitemsÚisnanÚall) Údatetime_seriesZ string_seriesÚidentityZsubIndexZ    subSeriesÚidxÚvalZ    subIndex2ZsubTSZ stuffSeriesZnonContigIndexZ subNonContigÚresult©r ú_d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/series/methods/test_reindex.pyÚ test_reindexs. 
 
 
 
r"cCsŒtddddgddtjdgd}tjdtjddtjgdd    ddddg}}t | |¡|j|¡|j d
¡|_tj| |¡|j|d d dS) Nréééééé©rrÚobjectF)Zcheck_index_type)    r
rÚnanÚtmÚassert_series_equalrZilocrÚastype)ÚtsÚiÚjr r r!Útest_reindex_nan=s
(r2cCsptdddd}t|ƒ}| tdƒ¡}t |jt d¡¡s<t‚| ¡}|dd…     ¡sXt‚|dd… 
¡rlt‚dS)Nz1/1/2000 00:00:00rZ10s©ÚperiodsÚfreqézM8[ns]éûÿÿÿ) r r
rÚrangerZ
issubdtypeÚdtyperrrÚany)ÚrngZseriesrÚmaskr r r!Útest_reindex_series_add_natIsr=cCs„tddd}ttj d¡|d}| t|jdd…ƒ¡}|dd…}|j d¡|_t     
||¡|t|jdd…ƒ}t     
||¡dS)Nz1/1/2000r©r4r)r$r) r r
rÚrandomZrandnrÚlistrÚ
_with_freqr,r-)r;r/rÚexpectedr r r!Útest_reindex_with_datetimesUs   rCc    Cs”tgd}|j|jdd|j|jdd}| t|jƒ¡}|j d¡|_t ||¡|ddd…}d}tjt    |d|j|jddW5QRXdS)Nr)Úpad©ÚmethodrzVInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got foo©ÚmatchÚfoo)
r
rrr@rAr,r-ÚpytestÚraisesÚ
ValueError)rÚemptyÚ    reindexedr/Úmsgr r r!Útest_reindex_cornerbs
 ÿrPc Cs¶tt d¡dd}|ddd…}|j|jdd}|j|jdd}t ||¡tddddd    d    d
d
d d g
ƒ}t ||¡td dd d    dgdddddgd}ddddg}td d d d g|d}| |¡ ¡}t || d¡¡| |¡jdd}t ||¡td dd dg|d}|j|dd}t ||¡tddddgt    dƒd}d}| t    |ƒ¡ ¡}tdddgt    |ƒd}t ||¡tdt
ddƒd}|  d ¡j dd}tdt
ddƒd}t ||¡dS)NrÚint64©r9rrDrEÚffillrr'ér(r&r#r$ÚaÚbÚcÚdÚer)ÚgÚfÚfloat64Zinfer)ZdowncastTFZabcdZagcZbfill) r
rÚarangerrr,r-rSr.r@r8ÚshiftZfillna)ÚsÚs2rNZ
reindexed2rBÚ    new_indexrr r r!Útest_reindex_padys4       rbcCs¼ttjdddƒ}ddddg}|j|dd    }tt |¡ d¡|ƒ}t ||¡|j|dd
d }td d tjdg|ƒ}t ||¡|j|dddddgd }td tjtjdg|ƒ}t ||¡dS)NrrQrRgš™™™™™¹?gÍÌÌÌÌÌì?gø?ç@ZnearestrEgš™™™™™É?)rFZ    tolerancerr&rg333333Ó?g{®Gáz„?gš™™™™™Ù?r#)    r
rr]rZaroundr.r,r-r+)r_ÚtargetrrBr r r!Útest_reindex_nearest¢s   recCsp|ddd…}ttjt|ƒtd|jd}| |j¡}|jtjksFt    ‚| |jddd…¡}|jtj
kslt    ‚dS©NrrRr)) r
rÚzerosÚlenÚintrrr9Zfloat_rÚint_)rr/Zint_tsZ reindexed_intr r r!Útest_reindex_int²s  rkcCsp|ddd…}ttjt|ƒtd|jd}| |j¡}|jtjksFt    ‚| |jddd…¡}|jtj
kslt    ‚dSrf) r
rrgrhÚboolrrr9Zobject_rZbool_)rr/Úbool_tsZreindexed_boolr r r!Útest_reindex_boolÁs  rncCsT|dd…}ttjt|ƒtd|jd}|j|jdd}t|dd…ƒ ¡sPt    ‚dS)Nr$rRr)rDrE)
r
rrgrhrlrrrrr)rr/rmZ filled_boolr r r!Útest_reindex_bool_padÑs rocCsÞtddd}tdddgdd}| |¡}tttjtjtjgdddgd    ƒ}||_t ||¡ttddgdddgd    ƒ}d
d g|_| d
d g¡}t ||¡ttdtjgdddgd    ƒ}d dg|_| d dg¡}t ||¡dS) NZ20000101r#r>rUrVrWÚcategoryrR)ÚvaluesÚ
categoriesr&r)    r r
rrrr+rr,r-)rr_rrBr r r!Útest_reindex_categoricalÙs  
ÿ 
 
rscCsftdddgdddgd}dddg}d}t}| |¡ |¡ |¡}| |¡ |¡ |¡}t ||¡dS)Nr&rr#rr)rp)r
Ústrrr.r,r-)ÚserraZ
temp_dtypeZ    new_dtyperrBr r r!Ú%test_reindex_astype_order_consistencyñs
rvcCstdddgƒ}| dddg¡}tddtjgdddgd}t ||¡|jdddgdd    }tdddgdddgd}t ||¡tdddgƒ}| dddg¡}tddtjgdddgd}t ||¡|jdddgdd    }tdddgdddgd}t|jjtj    ƒst
‚t ||¡tdddgt d
}| dddg¡}tddtjgdddgt d }t ||¡|jdddgd d    }tddd gdddgt d }t ||¡td dd gƒ}| dddg¡}tdd tjgdddgt d }t ||¡|jdddgdd    }tdd dgdddgd}t ||¡dS)Nçð?rcg@r&rr#r)r©Ú
fill_valuerR©rr9rITF) r
rrr+r,r-Ú
issubclassr9ÚtypeÚintegerrr*)ZfloatsrrBÚintsZobjectsZboolsr r r!Útest_reindex_fill_valueüs:       rr9zdatetime64[ns]útimedelta64[ns]ryÚstringcCsp|rt d¡|dkr*|tdƒkr*tdƒ}ttg|d}|jddg|d}td|gddgtd}t     ||¡dS)Nz3Array manager does not promote dtype, hence we failr€rrRr&rxrz)
rJÚskipr r r
rrr*r,r-)r9ryZusing_array_managerrurrBr r r!Ú+test_reindex_fill_value_datetimelike_upcast/s
rƒc    Cs\tdddd}tdddd}ttdƒ|d    }d
}tjt|d |j|d d W5QRXdS)NZ20131101zAmerica/Chicagor%)Útzr4Z20131103rÚHr3r)zLCannot compare dtypes datetime64\[ns, America/Chicago\] and datetime64\[ns\]rGrSrE)r r
r8rJrKÚ    TypeErrorr)rZnewidxr_rOr r r!Ú/test_reindex_datetimeindexes_tz_naive_and_awareAsÿr‡cCs6tdd ddg¡}ttgddd}t ||¡dS)Nzdatetime64[ns, UTC]rRrr&r)r
rrr,Z assert_equal)rrBr r r!Ú"test_reindex_empty_series_tz_dtypeNsrˆz+p_values, o_values, values, expected_valuesZ2019Q1zQ-DECZ2019Q2ZAllrwc    CsBt|ƒ}t|ƒ}t||d}| |¡}t||d}t ||¡dS)Nr))r    rr
rr,r-)    Zp_valuesZo_valuesrqZexpected_valuesZ period_indexZ object_indexrurrBr r r!Ú$test_reindex_periodindex_with_objectUs  
 r‰c    Cs>tddgƒ}d}tjt|d| ddgd¡W5QRXdS)Nr&rzCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenrGr#F©r
rJrKr†r©rurOr r r!Útest_reindex_too_many_argsqs rŒc    CsDtddgƒ}d}tjt|d|jddgddgdW5QRXdS)Nr&rz4reindex\(\) got multiple values for argument 'index'rGr#r'r)rŠr‹r r r!Útest_reindex_double_indexys rcCs@tddgƒ}|jddgd}tddgddgd}t ||¡dS)Nr&rrr))r
rr,r-)rurrBr r r!Útest_reindex_no_posargss rŽrqrUÚxcCshttt|dƒƒt |¡dd}|jt dg¡dd}ttdg|dggggddd}t     ||¡dS)Nrr*rzrV)Úlevelr&)ÚlevelsÚcodes)
r
r8rhrZ from_arraysrrÚarrayr,r-)rqrurrBr r r!Útest_reindex_empty_with_level‰sÿÿr”c    CsNtddddgdd}d}tjt|d|jddddd    gd
d W5QRXdS) Nr&rr#rprRz:Cannot setitem on a Categorical with a new category \(-1\)rGr'r$éÿÿÿÿrxrŠr‹r r r!Útest_reindex_missing_category–sr–c    Cstdtgtƒd}| tdƒ¡}|jj}t dtj    tj    g¡}t
  ||¡t
  d¡4t  |¡}tdtj    tj    gtƒd}t
 ||¡W5QRXdS)NrwrRr#r&r)r
rrrr8rqÚ_datarr“ÚNaNr,Zassert_numpy_array_equalZassert_produces_warningÚlogr-)r_Z    s_reindexrrBZ
result_logZ expected_logr r r!Ú#test_reindexing_with_float64_NA_logžs  
rš).ÚnumpyrrJZpandasrrrrrrrr    r
r r r rZpandas._testingZ_testingr,r"r2r=rCrPrbrerkrnrorsrvrÚmarkZ parametrizerƒr‡rˆr+r‰rŒrrŽr”r–ršr r r r!Ú<module>sV< '   ) 3  
üüùþ