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
U
¬ý°däã @sddlZddlZddlZddlmZddlm    Z    ddl
m Z ddl m Z mZmZejeje jgddd„ƒZdd    „Zd
d „Zd d „Zdd„Zdd„Zej dddgdejgfdgejgfdejgejejgfejejgejejgfg¡dd„ƒZej dddgdddejddde dg¡ddgddggejddigg¡d d!„ƒZd"d#„Zd$d%„Z d&d'„Z!d(d)„Z"ej d*d+d,gddgeƒeƒfd+d,gddgd-eƒfd+d,ejgddejgeƒeƒfg¡d.d/„ƒZ#ej d0ejdgd1d2defe dejg¡defe dejg¡d3e fg¡d4d5„ƒZ$dS)6éN)Ú
is_integer)Ú IntegerArray)Ú    Int8DtypeÚ
Int32DtypeÚ
Int64Dtype)ÚparamscCs|jS)zjFixture returning parametrized IntegerArray from given sequence.
 
    Used to test dtype conversions.
    )Úparam)Úrequest©r
údd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/arrays/integer/test_construction.pyÚ constructorsr cCs*tjddgtƒd}|dtjks&t‚dS)Né©Údtype)ÚpdÚarrayrÚNAÚAssertionError)Úar
r
r Útest_uses_pandas_nasrcCsÀ|j}t |¡}tj|jtjddt|ƒd}t ||¡t |¡}tjt     |¡ 
¡t|ƒd}t ||¡t |¡  ¡j dd}t     |  ¡¡  t |j¡¡}tj|t|ƒd}t ||¡dS)NÚfloat)Zna_valuerrT)Zdrop)rrÚSeriesZto_numpyÚnpÚnanÚstrÚtmÚassert_series_equalrÚtolistZdropnaZ reset_indexÚastypeÚtype)ÚdatarÚexpectedÚresultZdroppedr
r
r Útest_from_dtype_from_floats
 
 r#cCsêt d|i¡}|d d¡}tjtjtjdgtddd}t     ||¡|d d¡j
}tjtj dgtd}t  ||¡t ||ƒD]d\}}t |¡r¢t |¡sät‚q€t|ƒrÄ||ks¶t‚t|ƒsät‚q€||ksÐt‚t|ƒt|ƒks€t‚q€dS)NÚAÚobjectr r)Úname)rZ    DataFramerrrrrr%rrÚvaluesrZassert_numpy_array_equalÚzipZisnullrrr)Z data_missingZdfr"r!ÚrÚer
r
r Útest_conversions2s  
  r+c    Cstjddddgdd}tjddddgd    d}t||ƒ}tjdddtjgd
d}t ||¡d }tjt    |d t| 
¡|ƒW5QRXtjt    |d t|| 
¡ƒW5QRXtjt    |d t|  t ¡|ƒW5QRXd }tjt    |d t|ƒW5QRXdS)Nr éééÚint64rFTÚboolÚInt64z@.* should be .* numpy array. Use the 'pd.array' function instead©Úmatchz;__init__\(\) missing 1 required positional argument: 'mask') rrrrrrÚassert_extension_array_equalÚpytestÚraisesÚ    TypeErrorrrr)r'Úmaskr"r!Úmsgr
r
r Útest_integer_array_constructorKs
 r:cCs€tjddddgdd}tjddddgd    d}t||ƒ}|j|ksDt‚|j|ksRt‚t||dd
}|j|k    snt‚|j|k    s|t‚dS) Nr r,r-r.r/rFTr0)Úcopy)rrrÚ_datarZ_mask)r'r8r"r
r
r Ú#test_integer_array_constructor_copyas
r=za, br cCs,tj|dd}tj|dd}t ||¡dS)Nr1r)rrrr4)rÚbr"r!r
r
r Ú!test_to_integer_array_none_is_nanns
r?r'ZfooÚbarçð?Z20130101r,)Zperiodsr-r.rc    Csld dddddg¡}tjttf|dtj|dd    W5QRXtjttf|dt |¡W5QRXdS)
Nú|z#cannot be converted to IntegerDtypez)invalid literal for int\(\) with base 10:zvalues must be a 1D list-likezCannot pass scalarz!int\(\) argument must be a stringr2r1r)    Újoinr5r6Ú
ValueErrorr7rrrÚ_from_sequence)r'r9r
r
r Útest_to_integer_array_error}sûÿ    rFcCsl|tjddgddƒ}|jtƒks&t‚|tjddgddƒ}|jtƒksLt‚|ddgƒ}|jtƒksht‚dS)Nr r,Úint8rÚint32)rrrrrrr©r r"r
r
r Ú$test_to_integer_array_inferred_dtypeœs  rJcCsN|ddgdd}|jtƒks t‚|tjddgdddd}|jtƒksJt‚dS)Nr r,ZInt8rrGZInt32)rrrrrrrIr
r
r Ú#test_to_integer_array_dtype_keyword¨srKc    Cs€t ddg¡}tjddgdd}t ||¡tjtddt d    dg¡W5QRXt t    jddgd
d¡}|j
t ƒks|t ‚dS) NrAg@r r,r1rz!cannot safely cast non-equivalentr2gø?Úfloat32) rrErrrr4r5r6r7rrrr©r"r!r
r
r Útest_to_integer_array_float±s rNc    Csˆt dddg¡}tjddtjgdd}t ||¡tj    t
ddt ddd    g¡W5QRXtj    t
ddt d
d g¡W5QRXdS) NÚ1Ú2r r,r1rz,invalid literal for int\(\) with base 10: .*r2Úz1.5z2.0) rrErrrrrr4r5r6rDrMr
r
r Útest_to_integer_array_str¾s ÿÿrRz5bool_values, int_values, target_dtype, expected_dtypeFTr1cCs8|||d}|j|kst‚tj||d}t ||¡dS©Nr)rrrrrr4)r Z bool_valuesZ
int_valuesZ target_dtypeZexpected_dtyper"r!r
r
r Útest_to_integer_array_boolÎs rTzvalues, to_dtype, result_dtyper/rrGcCs>tj||d}|j|ƒkst‚tj||ƒd}t ||¡dSrS)rrErrrrrr4)r'Zto_dtypeZ result_dtyper"r!r
r
r Útest_to_integer_arrayßs
rU)%Únumpyrr5ZpandasrZpandas._testingZ_testingrZpandas.api.typesrZpandas.core.arraysrZpandas.core.arrays.integerrrrZfixturerrEr rr#r+r:r=ÚmarkZ parametrizerr?Z
date_rangerFrJrKrNrRrTrUr
r
r
r Ú<module>sn   
  üþ    
 
 øþ
      ýþ
    ýþ