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
U
­ý°dÀEã@sŠddlmZddlmZddlmZddlZddlZddlZddl    m
Z
ddl m Z m Z mZmZmZmZmZddlmZGdd„dƒZdS)    é)Údatetime)ÚDecimal)ÚIteratorN)Úis_platform_little_endian)ÚCategoricalIndexÚ    DataFrameÚIndexÚIntervalÚ
RangeIndexÚSeriesÚ
date_rangec@sÔeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3S)4ÚTestFromRecordscsBtdddd‰t‡fdd„tdƒDƒƒ}t |¡}t ||¡dS)Nz
2016-01-01é
z
US/Pacific)ZperiodsÚtzcsi|]
}|ˆ“qS©r©Ú.0Úi©Zdtirúhd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/constructors/test_from_records.pyÚ
<dictcomp>szBTestFromRecords.test_from_records_dt64tz_frame.<locals>.<dictcomp>é)r rÚrangeÚ from_recordsÚtmÚassert_frame_equal)ÚselfÚdfÚresrrrÚtest_from_records_dt64tz_frames
z.TestFromRecords.test_from_records_dt64tz_framecCsÖtƒst d¡tdtdddddƒdgiƒ}t tdddddƒdg¡g}dg}tjjj    ||d}t 
|¡}t   ||¡t tdddddƒdg¡g}d    g}tjjj    ||d}t 
|¡}|d  d
¡|d<t   ||¡dS) Nz*known failure of test on non-little endianÚEXPIRYiÕéér)r z<M8[ns]©Údtype)r z<M8[m]zM8[s])rÚpytestÚskiprrÚnpÚarrayÚcoreÚrecordsZ
fromarraysrrrZastype)rÚexpectedZarrdataÚdtypesÚrecarrayÚresultrrrÚ test_from_records_with_datetimess
 
 
z0TestFromRecords.test_from_records_with_datetimesc sžttjtj d¡tjdtjtj d¡tjdtjt d¡tjddgdtjddgdtdtjtj d¡tj    dtjtj d¡tj    dtjt d¡tj
ddœƒ}|  ¡}g}g‰g}|  ¡D].\‰}ˆ  |j¡|  ‡fdd    „|jDƒ¡qÂtt|jƒƒD]>}g}|  ¡D]\}}|  |j|j¡q| t|ƒ¡qtj||d tj¡}    | ¡}
d
d    „|Dƒ} tj|ˆd j|jd } tj|    ˆd j|jd } tj|
ˆd j|jd }tj| ˆd j|jd }tj| |dd t | |¡t ||¡tj||dd t |¡} t | jtd ƒ¡ˆ d¡ˆ d¡g}tt td ƒƒt |ƒƒ}tj||d} ‡fdd    „t!|ƒDƒ| _t "| d|d¡t "| d|d¡dS)Nér#ÚfooTFr!©ÚAÚA1ÚBÚCÚDÚEÚE1ÚFcs$g|]}|t ˆ¡jddf‘qS)rr")r'r$Údescr)rÚcr#rrÚ
<listcomp>PszBTestFromRecords.test_from_records_sequencelike.<locals>.<listcomp>cSsg|] }t|ƒ‘qSr)Úlist)rÚxrrrr=Ys©Úcolumns©Z check_dtypeér6r9)Úexcludecsg|] }ˆ|‘qSrrrr@rrr=|s)#rr'r(ÚrandomÚrandnÚfloat64ÚarangeÚint64ÚboolÚfloat32Úint32Ú_to_dict_of_blocksÚitemsÚextendrArÚlenÚindexÚilocÚvaluesÚappendÚtupleÚviewr-Ú
to_recordsrÚreindexrrÚassert_index_equalr
r>ÚsetÚsortedÚassert_series_equal)rrÚblocksÚtuplesr,ÚbrÚtupÚ_r-Z    recarray2Úlistsr.Zresult2Zresult3Zresult4Zcolumns_to_testrDr)rAr$rÚtest_from_records_sequencelike:sdøÿ ÿÿÿÿ  
z.TestFromRecords.test_from_records_sequencelikecCsltjgdddgd}t|ƒdks$t‚t |jtdddgƒ¡t g¡}t|ƒdksVt‚t|jƒdksht‚dS)Nr1ÚbarZbazr@r)rrrPÚAssertionErrorrrYrAr)rr.rrrÚ$test_from_records_sequencelike_empty€s 
z4TestFromRecords.test_from_records_sequencelike_emptyc     Cs`ttjtj d¡tjdtjtj d¡tjdtjt d¡tjddgdtjddgdtdtjtj d¡tj    dtjtj d¡tj    dtjt d¡tj
ddœƒ}|  ¡}g}|  ¡D]}|  |j¡qºt| ¡ƒ}dd    „| ¡Dƒ}g}| t |¡j|jd
¡| tj||d
j|jd
¡| tj||d
j|jd
¡|D]}t ||¡qHdS) Nr0r#r1TFr!r2cSsi|]\}}||j“qSr)rS)rr?Úyrrrr¡sz>TestFromRecords.test_from_records_dictlike.<locals>.<dictcomp>r@)rr'r(rErFrGrHrIrJrKrLrMrSrOrAÚdictrNrTrrXrr)    rrr]rAr_ZasdictZasdict2ÚresultsÚrrrrÚtest_from_records_dictlikeŠs6øÿ  ÿÿz*TestFromRecords.test_from_records_dictlikecCsLttj dd¡dddgd}tj d¡}tj||d}t |jt|ƒ¡dS)Nrr!r3r5r6r@©rQ)    rr'rErFrrrYrQr)rrÚdataÚdf1rrrÚ!test_from_records_with_index_data°s z1TestFromRecords.test_from_records_with_index_datac    CsÄttj dd¡dddgd}tj|dgd}t |jt|j    ƒ¡tj|dd}t |jt|j    ƒ¡d 
d    g¡}t j t |d
tj|d gdW5QRXt j t |d
tj|d dW5QRXdS) Nrr!r3r5r6r@rlú|z"'None of \[2\] are in the columns'©Úmatché)rr'rErFrrrYrQrr6Újoinr%ÚraisesÚKeyError)rrrnÚmsgrrrÚ"test_from_records_bad_index_column·sÿÿz2TestFromRecords.test_from_records_bad_index_columncCsbGdd„dƒ}|dddƒ|dddƒ|d    d
d ƒg}d d „|Dƒ}t |¡}t |¡}t ||¡dS)Nc@s0eZdZddœdd„Zdd„Zedœdd„ZdS)    z;TestFromRecords.test_from_records_non_tuple.<locals>.RecordN)ÚreturncWs
||_dS©N©Úargs)rr|rrrÚ__init__ÎszDTestFromRecords.test_from_records_non_tuple.<locals>.Record.__init__cSs
|j|Srzr{)rrrrrÚ __getitem__ÑszGTestFromRecords.test_from_records_non_tuple.<locals>.Record.__getitem__cSs
t|jƒSrz)Úiterr|)rrrrÚ__iter__ÔszDTestFromRecords.test_from_records_non_tuple.<locals>.Record.__iter__)Ú__name__Ú
__module__Ú __qualname__r}r~rr€rrrrÚRecordÍsr„r"rsr!rér0érCé    cSsg|] }t|ƒ‘qSr)rU)rÚrecrrrr=Øsz?TestFromRecords.test_from_records_non_tuple.<locals>.<listcomp>©rrrr)rr„ZrecsZtupsr.r+rrrÚtest_from_records_non_tupleÌs 
"
 
z+TestFromRecords.test_from_records_non_tuplecCsPtjgdddgd}tdgƒ}t|ƒdks.t‚|jjdks>t‚t |j    |¡dS)Nr1rd©rQrAr)
rrrrPrerQÚnamerrYrA©rr.r+rrrÚ#test_from_records_len0_with_columnsÞs
 
z3TestFromRecords.test_from_records_len0_with_columnscCsRtdddœdddœggƒj}tdddœgdddœggƒ}t |¡}t ||¡dS)Nr"rs©Úar_r!r)rÚTr rrr)rr+rmr.rrrÚ"test_from_records_series_list_dictçs
z2TestFromRecords.test_from_records_series_list_dictcCs€ttddƒtddƒtddƒgƒ}tddiddidd    ig|d
}tj||d
}tddtjgtjtjd    gd œ|d
}t ||¡dS) Niìÿÿÿiöÿÿÿrrrr"rsr_r!rlr)    rr    r rrr'ÚNaNrr)rrQZseries_of_dictsÚframer+rrrÚ*test_from_records_series_categorical_indexîsÿÿz:TestFromRecords.test_from_records_series_categorical_indexcCs,dtdddtjddœ}tj|gdddS)    Ngø?iÖré)Útzinfo)ZdatumÚ
begin_timer˜rl)rÚpytzÚutcrr)rrˆrrrÚtest_frame_from_records_utcúsz+TestFromRecords.test_frame_from_records_utcc    Cstjddd}ddg|dd…<t |¡}tt t|ƒ¡ddd…ƒ}tj||d}t |j    |¡t d¡}t 
t |¡t|ƒ¡d      d
g¡}t j t|d tj||dd…dW5QRXtj|d d}| ¡}t|jjƒd ksæt‚|jdd}t|jjƒdkst‚d|jjkst‚dS)N)rsz    i4,f4,a10r#)r"g@ZHello)rsç@ZWorldéÿÿÿÿrl)rsr!rpz;Length of values \(2\) does not match length of index \(1\)rqÚf1r!FrsrQ)r'ÚzerosrrrrHrPrrYrQrrtr%ruÚ
ValueErrorrWr$Únamesre)rÚarrr”rQZ indexed_frameZarr2rwr*rrrÚtest_from_records_to_recordss(
 
ÿÿ  z,TestFromRecords.test_from_records_to_recordscCs:dddg}tj|ddddgd}t |dd¡s6t‚dS)    N)r"rsNr!)Nrsr…r!rr_r<Údr@r)rrr'Úisnanre©rr^rrrrÚtest_from_records_nones#s
z'TestFromRecords.test_from_records_nonescCsðtjddddgdtjfdtjfdtjfdtjfgd    }tjt|ƒd
d }ttjd d gtjd    tjd d gtjd    tjd
dgtjd    tjd
dgtjd    dœƒ}t     
|  |¡|¡ddddg}tjt|ƒddgd
d}t    j
||j ddgddddS)N)çð?r¨rsrs)rœrœrr)ç@r©r0r0)ç@rªrCrCr?ÚurgÚzr#rs)Únrowsr¨rœr)r?r«rgr¬)r¨rs)rœr)r©r0)rªrC)rAr­r@FrB) r'r(rGrKrIrLrrrrrZ reindex_likerX)rr¢rZxprrrÚtest_from_records_iterator)s(
üþ    üÿ z*TestFromRecords.test_from_records_iteratorcsvdd„‰dddg}‡fdd„tt|ƒƒDƒ}|d|d    |d
d œ}t||d }ˆd ƒ}tj||d }t ||¡dS)Ncss2t|ƒD]$}d}|||t|ƒ||fVqdS©NÚABCDEFGHIJKLMNOPQRSTUVWXYZ©rrP©ÚlengthrÚlettersrrrÚtuple_generatorDs zKTestFromRecords.test_from_records_tuples_generator.<locals>.tuple_generatorÚIntegerÚStringÚFloatcs"g|]‰‡fdd„ˆdƒDƒ‘qS)csg|] }|ˆ‘qSrrr©Újrrr=KszQTestFromRecords.test_from_records_tuples_generator.<locals>.<listcomp>.<listcomp>rr©r©rµr¹rr=JszFTestFromRecords.test_from_records_tuples_generator.<locals>.<listcomp>rr"rs©r¶r·r¸r@r©rrPrrrr©rZ columns_namesrArmr+Ú    generatorr.rr¼rÚ"test_from_records_tuples_generatorCs
 
 
ÿ z2TestFromRecords.test_from_records_tuples_generatorcsvdd„‰dddg}‡fdd„tt|ƒƒDƒ}|d|d    |d
d œ}t||d }ˆd ƒ}tj||d }t ||¡dS)Ncss2t|ƒD]$}d}|||t|ƒ||gVqdSr¯r±r²rrrÚlist_generatorUs zITestFromRecords.test_from_records_lists_generator.<locals>.list_generatorr¶r·r¸cs"g|]‰‡fdd„ˆdƒDƒ‘qS)csg|] }|ˆ‘qSrrrr¹rrr=\szPTestFromRecords.test_from_records_lists_generator.<locals>.<listcomp>.<listcomp>rrr»©rÂr¹rr=[szETestFromRecords.test_from_records_lists_generator.<locals>.<listcomp>rr"rsr½r@rr¾r¿rrÃrÚ!test_from_records_lists_generatorTs
 
 
ÿ z1TestFromRecords.test_from_records_lists_generatorcCs<dddg}dddg}t|ƒ}tj||dd}||ks8t‚dS)N©r"rsr!)rsr…r!rr_r<)rArQ)r>rrre)rr^rAZoriginal_columnsrrrrÚ&test_from_records_columns_not_modifiedes
 
 
z6TestFromRecords.test_from_records_columns_not_modifiedcCsztdƒftdƒfdg}tj|dgd}|djtks8t‚tj|dgdd}|djtjks^t‚t |dj    d¡svt‚dS)    Nz1.5z2.5rzrr@T)rAZ coerce_floatr)
rrrr$Úobjectrer'rGr¥rSr¦rrrÚtest_from_records_decimalos z)TestFromRecords.test_from_records_decimalcCs>tjddgdddgd}tddgdddgd}t ||¡dS)NrÅ)rr…r0rr_r@r‰rrrrÚtest_from_records_duplicatesysz,TestFromRecords.test_from_records_duplicatescsrdd„‰‡fdd„tdƒDƒ}| dddœ¡tj|dd    }|jjdksLt‚tj|dd
gd    }|jjdksnt‚dS) NcSs |tj dd¡tj dd¡dœS)Nr"r)Úorder_idÚquantityZprice)r'rEÚrandint)rÊrrrÚ create_dicts  ýzETestFromRecords.test_from_records_set_index_name.<locals>.create_dictcsg|] }ˆ|ƒ‘qSrrr©rÍrrr=ˆszDTestFromRecords.test_from_records_set_index_name.<locals>.<listcomp>rr…)rÊrËrÊrlrË)rrTrrrQrŒrer¡)rZ    documentsr.rrÎrÚ test_from_records_set_index_name€sz0TestFromRecords.test_from_records_set_index_namecCspdgdgdœ}tj|ddgd}t|ddgd}t ||¡ddd    gd
d d gd œ}tj|dddgd}t|dddgd}t ||¡g}| tdddƒdg¡| tdddƒdg¡tj|ddgd}|j}tt     d¡t     d¡gddgd}t 
||¡g}| tdddƒdg¡| tdddƒdg¡tj|ddgd}|j}tt     d¡t     d¡gddgd}t 
||¡dS)Nr1rd©r"rsrr_r@r"rsr!rr…r0rr<rliÚÚhiÚdateÚtestzdatetime64[ns]rÇrI) rrrrrTrr,r r'r$r\)rrmr.ÚexpÚrowsZdf2_objr+rrrÚ!test_from_records_misc_brokenness“s8  ÿ ÿz1TestFromRecords.test_from_records_misc_brokennesscCsdtjgdddgd}tdddgd}t ||¡tjgdddgd}tdddgd}t ||¡dS)Nrr_r<r@r‰rrrrÚtest_from_records_empty¹s  z'TestFromRecords.test_from_records_emptycCs’tjdgdtjfdtjfgd}tj|dd}tdgdd}tddgi|dgd    }t ||¡|dd
…}tj|dd}t ||jdd
…¡dS) NrÐÚidÚvaluer#rlr")rŒrsr‹r)    r'r(rIrrrrrrR)rrrZex_indexr+r_Zdf2rrrÚ3test_from_records_empty_with_nonempty_fields_gh3682Ãs   zCTestFromRecords.test_from_records_empty_with_nonempty_fields_gh3682cCshdtfg}dt|ƒf}tj||d}t |¡}tdtjgtdiƒ}t ||¡t|ƒ}t ||¡dS)NÚproprr#)    ÚintrPr'Úemptyrrr(rr)rr$Úshaper¢r.r+ZaltrrrÚtest_from_records_empty2Ïs
 
 z(TestFromRecords.test_from_records_empty2N)rr‚rƒrr/rcrfrkrorxrŠrŽr’r•r›r£r§r®rÁrÄrÆrÈrÉrÏrÖr×rÚrßrrrrr s2F
&     #
 
&
 r )rÚdecimalrÚtypingrÚnumpyr'r%r™Z pandas.compatrZpandasrrrr    r
r r Zpandas._testingZ_testingrr rrrrÚ<module>s    $