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
94
U
®ý°dr=ã@s–ddlmZddlZddlZddlZddlZddlmm    Z
ddl Z ddl mZddlmZejejgZddgZddgZejdd    „ƒZej d
ejejejg¡ejjdeed d d „ƒƒZej d
e¡ejjdeed ejjdddgddgd dd„ƒƒƒZej d
e¡ejjdeed ejjdddgddgd dd„ƒƒƒZ ej d
e¡ejjdeed ejjdddgddgd ejjdddgddgd dd„ƒƒƒƒZ!ej d
e¡ejjdeed ej dddg¡dd„ƒƒƒZ"ej d
ej#g¡ejjdeed ej dddg¡ej $d¡dd„ƒƒƒƒZ%ejjdeed dd „ƒZ&ejjdeed ej d
e¡d!d"„ƒƒZ'd#d$„Z(eje j)d%d&d'gej*d(e j)d%d&d'gd)d(e j)d%d&d'gd*d(e j)d%d+d'gd,d(e  +d-d.d/g¡e  +d-d.d/g¡ ,d0¡e  +d-d.d/g¡j-d1d2e  .d3d4d5g¡e  /e  0dd%¡e  0d'd&¡e  0d%d'¡g¡g    d6d7„d8d9d:„ƒZ1Gd;d<„d<ƒZ2ej d=e3ee4g¡d>d?„ƒZ5d@dA„Z6dBdC„Z7dDdE„Z8dFdG„Z9e
j:dHdI„ƒZ;dS)Jé)ÚdequeN)Ú SparseArrayTFÚsparseZdensecCsLtjjddddd}tjjddddd}d|ddd…<d|ddd…<||fS)    zO
    A pair of random, length-100 integer-dtype arrays, that are mostly 0.
    ré
édÚint64©ÚdtypeNéé)ÚnpÚrandomÚrandint)Úa1Úa2©rúUd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/series/test_ufunc.pyÚarrays_for_binary_ufuncs
rÚufunc)ÚidscCsŒtjjddddd}d|ddd…<|r:t|t dd¡d}ttjdd…ƒ}d}tj    |||d}||ƒ}tj    ||ƒ||d}t
  ||¡dS)NrrrréÚname©Úindexr) r r rrÚpdÚ SparseDtypeÚlistÚstringÚ ascii_lettersÚSeriesÚtmÚassert_series_equal)rrÚarrrrÚseriesÚresultÚexpectedrrrÚtest_unary_ufuncsr&ÚflipZflippedZstraightc Cs˜|\}}|r4t|t dd¡d}t|t dd¡d}d}tj||d}|}||f}    ||f}
|rnt|    ƒ}    t|
ƒ}
tj||    Ž|d} ||
Ž} t | | ¡dS©Nrrrr©r)rrrrÚreversedr r!© r'rrrrrrr#ÚotherÚ
array_argsÚ series_argsr%r$rrrÚtest_binary_ufunc_with_array1sr/c Cs¨|\}}|r4t|t dd¡d}t|t dd¡d}d}tj||d}tj||d d¡}||f}    ||f}
|r~t|    ƒ}    t|
ƒ}
tj||    Ž|d} ||
Ž} t | | ¡dSr()    rrrrÚIndexZastyper*r r!r+rrrÚtest_binary_ufunc_with_indexKsr1ÚshuffleZ    unalignedZalignedcCsø|\}}|r4t|t dd¡d}t|t dd¡d}d}tj||d}tj||d}    tj t|ƒ¡}
|rš|     |
¡}    |rˆ|         |¡dj
} q |     |    ¡dj
} n|j
} ||f} ||    f} |rÌt t | ƒƒ} t t | ƒƒ} tj|| Ž| |d}|| Ž}t  ||¡dS)Nrrrrr)r)rrrrr r Z permutationÚlenZtakeZalignrÚtupler*r r!)r'r2rrrrrrr#r,Úidxrr-r.r%r$rrrÚtest_binary_ufunc_with_serieshs,
 
  r6c Cs||\}}|rt|ƒ}d}tj|dd}||f}||f}    |rRtt|ƒƒ}tt|    ƒƒ}    tj||    Ždd}
||Ž} t | |
¡dS)Nrrr))rrrr4r*r r!) rrr'rr"Ú_r,r#r.r-r%r$rrrÚtest_binary_ufunc_scalar’s  r8z$ignore:divide by zero:RuntimeWarningc
CsØ|\}}d||dk<d||dk<|rLt|t dd¡d}t|t dd¡d}t |¡}t |¡}|rp|jdd}|||ƒ}t|tƒsˆt‚|||ƒ}    t|    tƒs t‚t     |    dt |d¡¡t     |    dt |d¡¡dS)Nérrr)Úfrac)
rrrrÚsampleÚ
isinstancer4ÚAssertionErrorr r!)
rrr2rrrÚs1Ús2r%r$rrrÚ"test_multiple_output_binary_ufuncs¬s       
 
 
 
r@cCs’|\}}|rt|ƒ}tj|dd}t |¡}t |¡}t|tƒsDt‚t|tƒsRt‚t     |dtj|ddd¡t     |dtj|ddd¡dS)Nrr)rr9)
rrrr Úmodfr<r4r=r r!)rrr"r7r#r$r%rrrÚtest_multiple_output_ufuncÎs
 
rBcCs@|\}}tj|dd}tj|dd}|||ƒ}|jdks<t‚dS)NÚar)Úb)rrrr=)rrrrrr>r?r$rrrÚ#test_binary_ufunc_drops_series_nameâs
 
rEc
Cs~Gdd„dƒ}t |dƒ|dƒg¡}t |¡}t t ||¡t t ||¡¡¡t t ||dƒ¡t t ||dƒ¡¡¡dS)Nc@s"eZdZddœdd„Zdd„ZdS)z$test_object_series_ok.<locals>.DummyN©ÚreturncSs
||_dS©N©Úvalue©ÚselfrJrrrÚ__init__ðsz-test_object_series_ok.<locals>.Dummy.__init__cSs |j|jSrHrI©rLr,rrrÚ__add__ósz,test_object_series_ok.<locals>.Dummy.__add__)Ú__name__Ú
__module__Ú __qualname__rMrOrrrrÚDummyïsrSrr9)r Úarrayrrr r!Úadd)rSr"ÚserrrrÚtest_object_series_okîs
 
"rWr9r
rrZInt64ZFloat32rz Sparse[int]Ú2000Z2010Z2001ZCETÚD)Úfreqz1 Dayz3 Daysz2 DayscCs
t|jƒSrH)Ústrr    )ÚxrrrÚ<lambda>ór])ÚparamsrcCs|jSrH)Úparam)ÚrequestrrrÚvalues_for_np_reduceüsrbc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚTestNumpyReductionsc     Csþ|}|}t d¡||ƒ}W5QRXt|tjjjƒrPtjj    dd}|j
  |¡|j j dkrÄtj |¡}|tjkrŒ|jdd}    t ||    ¡qú|tjkr®|j ¡}    ||    ksÂt‚qú| ¡}    ||    ksút‚n6d ddd    g¡}
tjt|
d
tj |¡W5QRXdS) NzSparseArray has no 'prod')ÚreasonZiufF©Z numeric_onlyú|údoes not support reductionúunsupported operand typez$ufunc 'multiply' cannot use operands©Úmatch)r Úassert_produces_warningr<rÚcoreZarraysrÚpytestÚmarkZxfailÚnodeZ
add_markerr    Úkindr ÚmultiplyÚreduceÚ    DataFrameÚprodr!r0Ú_valuesr=ÚjoinÚraisesÚ    TypeError) rLrbÚbox_with_arrayraÚboxÚvaluesÚobjrnr$r%ÚmsgrrrÚ test_multiplys2    
 
 
ýÿz!TestNumpyReductions.test_multiplyc        CsÔ|}|}t d¡||ƒ}W5QRX|jjdkrštj |¡}|tjkrb|j    dd}t 
||¡qÐ|tj kr„|j      ¡}||ks˜t ‚qÐ|     ¡}||ksÐt ‚n6d dddg¡}tjt|dtj |¡W5QRXdS)    NZmiufFrerfrgrhzufunc 'add' cannot use operandsri)r rkr    rpr rUrrrrsÚsumr!r0rur=rvrmrwrx)    rLrbryrzr{r|r$r%r}rrrÚtest_add4s,   
 
 
ýÿzTestNumpyReductions.test_addc        Cs¤|}|}d}|tjkr&|jjdkr&d}t d¡||ƒ}W5QRXtj |¡}|tj    krt|j
dd}t  ||¡n,|d}||ksˆt ‚|r t |ƒt |ƒks t ‚dS)NT©ÚiÚfFrer9)rr0r    rpr rkr ÚmaximumrrrsÚmaxr!r=Útype©    rLrbryrzr{Z    same_typer|r$r%rrrÚtest_maxRs  
  zTestNumpyReductions.test_maxc        Cs¤|}|}d}|tjkr&|jjdkr&d}t d¡||ƒ}W5QRXtj |¡}|tj    krt|j
dd}t  ||¡n,|d}||ksˆt ‚|r t |ƒt |ƒks t ‚dS)NTrFrer)rr0r    rpr rkr ZminimumrrrsÚminr!r=r†r‡rrrÚtest_minjs  
  zTestNumpyReductions.test_minN)rPrQrRr~r€rˆrŠrrrrrcs"rcÚtype_cCsXtjdddgdd}|dddgƒ}t ||¡}tjt | ¡|¡dd}t ||¡dS)Nr9rr
rr)r é)rrr rUZto_numpyr r!)r‹rCrDr$r%rrrÚtest_binary_ufunc_other_types‚s
 rcs^G‡fdd„dƒ‰t ˆdƒˆdƒg¡}t |ˆdƒ¡}t ˆdƒˆdƒg¡}t ||¡dS)NcsBeZdZddœdd„Zdd„Zedœ‡fdd„ Zedœd    d
„ZdS) z#test_object_dtype_ok.<locals>.ThingNrFcSs
||_dSrHrIrKrrrrMŽsz,test_object_dtype_ok.<locals>.Thing.__init__cSst|d|ƒ}t|ƒ|j|ƒS)NrJ)Úgetattrr†rJrNrrrrO‘s z+test_object_dtype_ok.<locals>.Thing.__add__cst|ƒˆko|j|jkSrH)r†rJrN©ÚThingrrÚ__eq__•sz*test_object_dtype_ok.<locals>.Thing.__eq__cSsd|j›dS)NzThing(ú)rI)rLrrrÚ__repr__˜sz,test_object_dtype_ok.<locals>.Thing.__repr__)    rPrQrRrMrOÚboolr‘r[r“rrrrrsrr9rr
)rrr rUr r!)Úsr$r%rrrÚtest_object_dtype_okŒs
r–c    CsNt dddg¡}t dddg¡}tjttjdtj     
||¡W5QRXdS)Nr9rr
ri) rrr rTrmrwÚNotImplementedErrorr ZEMPTY_STRING_PATTERNÚsubtractÚouter)rVr|rrrÚ
test_outer¡sršcCsPtjdddggd}tjdddgd}tjdgd}t ||¡}t ||¡dS)Néÿÿÿÿr9r)Údataéf)rrsr Úmatmulr Zassert_frame_equal)Zdf1Zdf2r%r$rrrÚtest_np_matmulªs
 rŸc    Cs’dd„}t |dd¡}t ddg¡}|||dƒ}tjddgtd}t ||¡t ddgg¡}d}tj    t
t   |¡d    ||||ƒW5QRXdS)
NcSs |||SrHr)r\ÚyÚzrrrÚadd3¶sz2test_array_ufuncs_for_many_arguments.<locals>.add3r
r9rrŒrzTCannot apply ufunc <ufunc 'add3 (vectorized)'> to mixed DataFrame and Series inputs.ri) r Z
frompyfuncrrÚobjectr r!rsrmrwr—ÚreÚescape)r¢rrVr$r%Zdfr}rrrÚ$test_array_ufuncs_for_many_arguments´s  ÿr¦cCs>t ddddg¡}t |¡}t ddddg¡}t ||¡dS)    Ngø¿gà¿gà?gø?gð¿g€ggð?)rrr Zfixr r!)rVr$r%rrrÚ test_np_fixËs
r§)<Ú collectionsrr¤rÚnumpyr rmZpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrZpandas._testingZ_testingr Z pandas.arraysrrUZ    logaddexpZ BINARY_UFUNCSZSPARSEZ
SPARSE_IDSZfixturerrnZ parametrizeZpositiveÚfloorÚexpr&r/r1r6r8ÚdivmodÚfilterwarningsr@rBrErWrTrÚ to_datetimeZ tz_localizeZ    to_periodZ to_timedeltaZ IntervalIndexZIntervalrbrcrr4rr–ršrŸr¦Z&skip_copy_on_write_not_yet_implementedr§rrrrÚ<module>s†    
    & 
 
 
&÷ ô
s