
    Mh?                        S SK rS SKrS SKJr  S SKJrJrJrJ	r	J
r
  S SKJr  S SKJr  \R                   " \" SS/SS/SS/S	S//SS /S
9\" SS/SS/SS/S	S//SS/S
9\" SS/SS/SS/S	S//SS/S
9\" SS/SS/SS/S	S//SS /S
9\" SS/SS/SS/S	S//SS/S
9\" SS/SS/SS/S	S//SS/S
9\" SS/SS/SS/SS//SS/S
9\" SS/SS/SS/S	S//S S/S
9\" SS/SS/SS/S	S//SS/S
9/	S9S 5       r\R                   S 5       r\R                   S 5       rS rS rS r\R.                  R1                  SSS/5      S 5       r\R.                  R1                  SSS/5      S 5       r\R.                  R1                  S \" S!5      5      S" 5       rS# rS$ rS% r\R.                  R1                  S&S' S( /5      S) 5       r \R.                  R1                  S&S* S+ /5      S, 5       r! " S- S.5      r"g)/    N)IS64)	DataFrameIndex
MultiIndexSeries
date_range)	safe_sort               columnsC      ?g               @g      @g      @g       @X)paramsc                     U R                   $ )zPairwise frames test_pairwise)param)requests    S/var/www/html/env/lib/python3.13/site-packages/pandas/tests/window/test_pairwise.pypairwise_framesr      s     ==    c                  2    [        SS/SS/SS/SS//SS/S9$ )z'Pairwise target frame for test_pairwiser
   r   r   r   r   r   r   r    r   r   pairwise_target_framer   #   s.     q!fq!fq!fq!f51vFFr   c                  2    [        / SQ/ SQ/ SQ/ SQ// SQS9$ )z&Pairwise other frame for test_pairwise)Nr   r   )Nr   r
   )N   r
   )Nr   r   )YZr   r   r   r   r   r   pairwise_other_framer$   )   s      	|\<@ r   c           	      >   U nU[         R                  R                  S5      R                  [	        U5      5      -   nUR                  SSS9R                  U5      n[        R                  " UR                  S   [         R                  " USS  USS  5      S   5        g Nr
   2      windowmin_periodsi)r   r   )
nprandomdefault_rngstandard_normallenrollingcovtmassert_almost_equalilocseriesABresults       r   test_rolling_covr<   2   s    A	BII!!!$44SV<<AYYbbY155a8F6;;r?BFF1ST7AcdG,DT,JKr   c           	      >   U nU[         R                  R                  S5      R                  [	        U5      5      -   nUR                  SSS9R                  U5      n[        R                  " UR                  S   [         R                  " USS  USS  5      S   5        g r&   )r-   r.   r/   r0   r1   r2   corrr4   r5   r6   corrcoefr7   s       r   test_rolling_corrr@   :   s    A	BII!!!$44SV<<AYYbbY166q9F6;;r?BKK#$34,I$,OPr   c                     [        [        R                  " S[        R                  S9[	        SSS9S9n U R                  5       n[        R                  U S S& [        R                  US S& U R                  [        U 5      SS	9R                  U5      n[        R                  " UR                  S
   U R                  U5      5        g )N   dtypez
2020-01-01periodsindexr   
   r   r)   r,   )r   r-   arangefloat64r   copynanr2   r1   r>   r4   r5   r6   )abr;   s      r   !test_rolling_corr_bias_correctionrP   B   s    
		"BJJ'z,PR/S	A 	
AFFAbqEVVAcrFYYc!f!Y499!<F6;;r?AFF1I6r   funcr3   r>   c                 0   [        UR                  SSS9U 5      " 5       nUR                  [        S 5      S4S4   nUR                  R                  S5      Ul        [        US   R                  SSS9U 5      " US   5      n[        R                  " X#SS9  g )NrI   r   r)   r   Fcheck_names)getattrr2   locslicerH   	droplevelr4   assert_series_equal)rQ   framer;   expecteds       r   test_rolling_pairwise_cov_corrr\   O   s    U]]"!]<dCEFZZta(!+,F<<))!,FLuQx''rq'A4HqRH6?r   methodc                   ^ ^ US   m[        TR                  SS9T 5      " U5      n[        UR                  SS9T 5      " T5      nUR                  U U4S j5      n[        R                  " X$5        [        R                  " X45        UR                  5       n[        [        R                  R                  S5      R                  UR                  5      UR                  UR                  S9n[        UR                  SS9T 5      " U5      n[        U Vs0 s H&  ow[        X   R                  SS9T 5      " XW   5      _M(     sn5      n[        R                  " Xd5        g s  snf )Nr   rI   r*   c                 B   > [        TR                  SS9T5      " U 5      $ )NrI   r_   )rU   r2   )xr]   r8   s    r   <lambda>(test_flex_binary_frame.<locals>.<lambda>^   s    b(A6 J1 Mr   r
   rH   r   )rU   r2   applyr4   assert_frame_equalrL   r   r-   r.   r/   r0   shaperH   r   )	r]   rZ   resres2expframe2res3kr8   s	   `       @r   test_flex_binary_framern   X   s$   1XF
&...+V
4U
;C5===+V4V<D
++M
NC##$$ZZ\F
		a 00>llF 5===+V4V<D
MRSUGEH$$B$/8C	CUSC $$ 	Ts   -E r*      c                     [        [        R                  " S5      5      n[        [        R                  " S5      5      nUR	                  U S9R                  US9R                  5       R                  5       (       d   eg )NrB   r_   )other)r   r-   zerosrJ   r2   r>   isnaall)r*   srq   s      r   $test_rolling_corr_with_zero_variancerv   q   s_     	rxx|A299R=!E99F9#((u(5::<@@BBBBr   c                     [        [        R                  " SS/SS/SS/SS/S	S
/SS//5      5      n U S   R                  SSS9R	                  U S   5      n[        S U 5       5      (       d   e[        [        R                  R                  S5      R                  S5      5      n U S   R                  SSS9R	                  U S   5      n[        S U 5       5      (       d   eg )NgF$?g)?gT5?g?'N?gFr1?g+	C-?gR	`?g1:b%?g9T!X4!?gXS_?gS= ?g\+Lt?r   r   T)centerr   c              3   |   #    U  H2  n[         R                  " [         R                  " U5      5      S :*  v   M4     g7fr   Nr-   abs
nan_to_num.0ra   s     r   	<genexpr>#test_corr_sanity.<locals>.<genexpr>   '     :crvvbmmA&'1,c   :<r
   )   r
   c              3   |   #    U  H2  n[         R                  " [         R                  " U5      5      S :*  v   M4     g7frz   r{   r~   s     r   r   r      r   r   )r   r-   arrayr2   r>   rt   r.   r/   )dfrh   s     r   test_corr_sanityr   z   s    	
Z(Y'Z(Z(Z(Z(		

B Q%--$-
'
,
,RU
3C:c:::::	299((+227;	<B
Q%--$-
'
,
,RU
3C:c:::::r   c                  F   [        / SQ/ SQS9n [        SS/SS/S9nU R                  SSS9R                  U5      n[        / S	Q5      n[        R                  " X#5        [        / S
Q/ SQS9nU R                  SSS9R                  U5      n[        R                  " X#5        g )Nr   r
   r!   r   r   r
   rG   r   r!   r   r
   r)   )NNr   r   Nr!   )r   r2   r3   r4   rY   s1s2r;   r[   s2as        r   test_rolling_cov_diff_lengthr      s    			+B	Aq!f	%BZZqaZ044R8F'(H6,
Y
/CZZqaZ044S9F6,r   c                  F   [        / SQ/ SQS9n [        SS/SS/S9nU R                  SSS9R                  U5      n[        / S	Q5      n[        R                  " X#5        [        / S
Q/ SQS9nU R                  SSS9R                  U5      n[        R                  " X#5        g )Nr   r   rG   r   r!   r   r
   r)   )NNr   r   )r   r2   r>   r4   rY   r   s        r   test_rolling_corr_diff_lengthr      s    			+B	Aq!f	%BZZqaZ055b9F'(H6,
Y
/CZZqaZ055c:F6,r   fc                 >    U R                  SSS9R                  U SS9$ NrI   r   r)   Tpairwiser2   r3   ra   s    r   rb   rb      !    199BA96::1t:Lr   c                 >    U R                  SSS9R                  U SS9$ r   r2   r>   r   s    r   rb   rb      !    199BA96;;A;Mr   c           	      $   [        SS/SS/SS/SS//[        SS	/S
S9[        [        S5      SS9S9n[        [        SS	/S
S9[        R                  " UR
                  UR                  /SS
/S9SS9nU " U5      n[        R                  " X25        g )Nr   r   r!   r
   	   r,   r   r9   r:   foonamer   barr   rH   namesrK   )r   rH   rD   )	r   r   ranger   from_productrH   r   r4   rf   )r   r   df_expected	df_results       r   2test_rolling_functions_window_non_shrinkage_binaryr      s     

Q!Q!Q"a)sCju-E!H5)
B
 sCju-%%rxx&<UENSK
 "I)1r   c                 >    U R                  SSS9R                  U SS9$ r   r   r   s    r   rb   rb      r   r   c                 >    U R                  SSS9R                  U SS9$ r   r   r   s    r   rb   rb      r   r   c                    [        5       n[        [        S/SS9[        / SS9S9nUS   R                  S5      US'   [        [        R                  " UR
                  UR                  /5      S9n[        [        R                  " UR
                  UR                  /SS/S9[        S/SS9SS	9nU " U5      n[        R                  " XS5        U " U5      n[        R                  " Xd5        g )
NrN   r   r   r   r   rK   rG   r   )rH   r   rD   )	r   r   astyper   r   rH   r   r4   rf   )r   df1df2df1_expecteddf2_expected
df1_result
df2_results          r   *test_moment_functions_zero_length_pairwiser      s     +C
E3%e4E"5<Q
RC3xy)CH:#:#:CIIs{{;S#TUL%%syy#++&>uenUse%(L 3J*33J*3r   c                      \ rS rSr\R
                  R                  SS S /5      S 5       r\R
                  R                  SS S S S	 S
 S /5      S 5       r\R
                  R                  SS S S S S S /5      S 5       r	\R
                  R                  SS S S \R                  " S \R
                  R                  \(       + SSS9S9S S /5      S 5       r\R
                  R                  S5      \R
                  R                  SS  S! S" S# S$ S% /5      S& 5       5       r\R
                  R                  SS' S( S) S* S+ S, /5      S- 5       rS. rS/ rS0 rS1rg2)3TestPairwise   r   c                 "    U R                  5       $ N)r3   r   s    r   rb   TestPairwise.<lambda>   s
    QUUWr   c                 "    U R                  5       $ r   )r>   r   s    r   rb   r      s
    r   c                 b   U" U5      n[         R                  " UR                  UR                  5        [         R                  " UR                  UR                  5        U" U5      nUR	                  5       R
                  nUR	                  5       R
                  n[         R                  " XESS9  g NFcheck_dtyper4   assert_index_equalrH   r   dropnavaluesassert_numpy_array_equalselfr   r   r   r;   r[   s         r   test_no_flexTestPairwise.test_no_flex   s     ?#
fllO,C,CD
fnno.E.EF*+ ''??$++
##F%Hr   c                 <    U R                  5       R                  SS9$ NTr   	expandingr3   r   s    r   rb   r      s    akkm'''6r   c                 <    U R                  5       R                  SS9$ r   r   r>   r   s    r   rb   r      s    akkm(($(7r   c                 :    U R                  SS9R                  SS9$ Nr!   r_   Tr   r   r   s    r   rb   r      s    aiiqi)--t-<r   c                 :    U R                  SS9R                  SS9$ r   r   r   s    r   rb   r      s    aiiqi)...=r   c                 :    U R                  SS9R                  SS9$ Nr!   comTr   ewmr3   r   s    r   rb   r      s    aeeel&&&5r   c                 :    U R                  SS9R                  SS9$ r   r   r>   r   s    r   rb   r      s    aeeel'''6r   c                 *   U" U5      n[         R                  " UR                  R                  S   UR                  SS9  [         R                  " [	        UR                  R                  S   5      [	        UR
                  R                  5       5      5        [         R                  " UR
                  UR
                  5        U" U5      nUR                  5       R                  nUR                  5       R                  n[         R                  " XESS9  g Nr   FrS   r   r   
r4   r   rH   levelsr	   r   uniquer   r   r   r   s         r   test_pairwise_with_self$TestPairwise.test_pairwise_with_self   s     ?#
LL"O$9$9u	
 	fll))!,-o--4467	
 	fnno.E.EF*+ ''??$++
##F%Hr   c                 <    U R                  5       R                  SS9$ NFr   r   r   s    r   rb   r     s    akkm'''7r   c                 <    U R                  5       R                  SS9$ r   r   r   s    r   rb   r     s    akkm((%(8r   c                 :    U R                  SS9R                  SS9$ Nr!   r_   Fr   r   r   s    r   rb   r     s    aiiqi)--u-=r   c                 :    U R                  SS9R                  SS9$ r   r   r   s    r   rb   r     s    aiiqi)...>r   c                 :    U R                  SS9R                  SS9$ Nr!   r   Fr   r   r   s    r   rb   r     s    aeeel&&&6r   c                 :    U R                  SS9R                  SS9$ r   r   r   s    r   rb   r     s    aeeel'''7r   c                 b   U" U5      n[         R                  " UR                  UR                  5        [         R                  " UR                  UR                  5        U" U5      nUR	                  5       R
                  nUR	                  5       R
                  n[         R                  " XESS9  g r   r   r   s         r   test_no_pairwise_with_self'TestPairwise.test_no_pairwise_with_self  s     ?#
fllO,A,AB
fnno.E.EF*+ ''??$++
##F%Hr   c                 >    U R                  5       R                  USS9$ r   r   ra   ys     r   rb   r   (  s    **1t*<r   c                 >    U R                  5       R                  USS9$ r   r   r   s     r   rb   r   )  s    ++A+=r   c                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   *  s    !,00T0Br   c                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   -  s    QYYaY055a$5Gr   zPrecision issues on 32 bitF)reasonstrict)marksc                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   2  s    1))!d);r   c                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   3  s    1**1t*<r   c                    U" X5      n[         R                  " UR                  R                  S   UR                  SS9  [         R                  " [	        UR                  R                  S   5      [	        UR
                  R                  5       5      5        U" X#5      nUR                  5       R                  nUR                  5       R                  n[         R                  " XVSS9  g r   r   )r   r   r   r$   r   r;   r[   s          r   test_pairwise_with_other%TestPairwise.test_pairwise_with_other%  s    * ?9
LL"O$9$9u	
 	fll))!,-*2299;<	
 *A ''??$++
##F%Hr   zignore:RuntimeWarningc                 >    U R                  5       R                  USS9$ r   r   r   s     r   rb   r   N  s    **1u*=r   c                 >    U R                  5       R                  USS9$ r   r   r   s     r   rb   r   O  s    ++A+>r   c                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   P  s    !,00U0Cr   c                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   Q  s    !,11!e1Dr   c                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   R  s    1))!e)<r   c                 <    U R                  SS9R                  USS9$ r   r   r   s     r   rb   r   S  s    1**1u*=r   c                 Z   UR                   R                  (       a  U" X5      OS nUb  UR                  R                  UR                  5      nUR                   R                  UR                   5      n[        R
                  " UR                  U5        [        R
                  " UR                   U5        g [        R                  " [        SS9   U" X5        S S S 5        [        R                  " [        SS9   U" X!5        S S S 5        g ! , (       d  f       N9= f! , (       d  f       g = f)Nz'arg1' columns are not unique)matchz'arg2' columns are not unique)	r   	is_uniquerH   unionr4   r   pytestraises
ValueError)r   r   r$   r   r;   expected_indexexpected_columnss          r   test_no_pairwise_with_other(TestPairwise.test_no_pairwise_with_otherJ  s      &&00 o4 	
 ,22889M9S9STN.66<<$,,  !!&,,?!!&..2BCz1PQ/8 Rz1PQ&8 RQ RQQQs   	D9	D
D
D*c                 @    U R                  5       R                  U5      $ r   r   r   s     r   rb   r   n  s    **1-r   c                 @    U R                  5       R                  U5      $ r   r   r   s     r   rb   r   o  s    ++A.r   c                 >    U R                  SS9R                  U5      $ Nr!   r_   r   r   s     r   rb   r   p  s    !,003r   c                 >    U R                  SS9R                  U5      $ r  r   r   s     r   rb   r   q  s    !,11!4r   c                 >    U R                  SS9R                  U5      $ Nr!   r   r   r   s     r   rb   r   r  s    1))!,r   c                 >    U R                  SS9R                  U5      $ r  r   r   s     r   rb   r   s  s    1**1-r   c                     U" U[        / SQ5      5      n[        R                  " UR                  UR                  5        [        R                  " UR                  UR                  5        U" U[        / SQ5      5      nUR                  5       R                  nUR                  5       R                  n[        R                  " XESS9  U" [        / SQ5      U5      n[        R                  " UR                  UR                  5        [        R                  " UR                  UR                  5        U" [        / SQ5      U5      nUR                  5       R                  nUR                  5       R                  n[        R                  " XESS9  g )N)r   r   r!   r   Fr   )r   r4   r   rH   r   r   r   r   r   s         r   test_pairwise_with_series&TestPairwise.test_pairwise_with_seriesk  s    ?F<$89
fllO,A,AB
fnno.E.EF*F<,@A ''??$++
##F%H6,'9
fllO,A,AB
fnno.E.EFVL)+@A ''??$++
##F%Hr   c                     [        [        S5      [        SSS9S9nUR                  S5      R	                  U5      n[        [
        R                  /S-  [        SSS9S9n[        R                  " X#5        g )Nr   2020rE   rG   12h)	r   r   r   r2   r>   r-   rM   r4   rY   )r   ru   r;   r[   s       r   test_corr_freq_memory_error(TestPairwise.test_corr_freq_memory_error  s]    58:fa#@A5!&&q)266(Q,j.KL
v0r   c           
         [         R                  " [        S5      [        S5      [        S5      /5      n[        S5      n[	        [
        R                  " S5      R                  SS5      X!S9nUR                  SS	9R                  5       n[         R                  " [        S5      [        S5      [        S5      [        S5      /5      n[         R                  " [        S5      [        S5      [        S5      /5      n[	        [
        R                  " [
        R                  " S
[
        R                  5      [
        R                  " S
S5      [
        R                  " S
S5      45      UUS9n[        R                  " XE5        g )NabxyABr!      r   rd   g?)alpha)r   r   g      @@gK\ǸO@)r   r   listr   r   r-   rJ   reshaper   r3   vstackfullrM   r4   rf   )r   r   rH   r   r;   r[   s         r   test_cov_mulittindex!TestPairwise.test_cov_mulittindex  s    ))4:tDz4:*NOaryy},,Q2%Qc"&&(''q4:tDz4PT:(VW))4:tDz4:*NOIIGGFBFF+GGFI.GGFI. 

 	f/r   c                    [         R                  " SS/SS//SS/S9n[        [        R                  " S5      US	9nUR                  S
5      R                  5       n[        [        R                  [         R                  " [        R                  " [        R                  " S[        R                  S9S5      SS/S-  SS/S-  // SQS9US9n[        R                  " X45        g )NMNPQrN   rO   r   )r   r
   r   r!   r   rC   r
   )NrN   rO   rd   )r   from_arraysr   r-   onesr2   r>   rM   repeatrJ   int64r4   rf   )r   r   r   r;   r[   s        r   $test_multindex_columns_pairwise_func1TestPairwise.test_multindex_columns_pairwise_func  s    ((3*sCj)A#sTrwwv8A##%FF((IIbii:A>#JN#JN
 ' 
 	f/r   r   N)__name__
__module____qualname____firstlineno__r  markparametrizer   r   r   r   xfailr   r   filterwarningsr  r  r  r)  r4  __static_attributes__r   r   r   r   r      s   [[S#46H"IJI KI [[67<=56	

I
I* [[78=>67	

I
I [[<=BLLGkk''H%A% (  <<	
"I#"I( [[ 78[[=>CD<=	

9
 99* [[-.34,-	

I
I,1020r   r   )#numpyr-   r  pandas.compatr   pandasr   r   r   r   r   pandas._testing_testingr4   pandas.core.algorithmsr	   fixturer   r   r$   r<   r@   rP   r:  r;  r\   rn   r   rv   r   r   r   r   r   r   r   r   r   <module>rF     s        , Aq6Aq6Aq6Aq62QFCAq6Aq6Aq6Aq62QFCAq6Aq6Aq6Aq62S#JGAq6Aq6Aq6Aq62S!HEAq6Aq6Aq6Aq62S!HEAq6Aq6Aq6Aq62S!HEC:SzC:SzBQPSHUAs8aX3x!S:QHMAq6Aq6Aq6As84sCjI

 G G
  LQ
7 %1@ 2@ FE?3% 4%0 58,C -C;.
-
- MN22  MN44&a0 a0r   