
    .i                        d dl Zd dlZd dlZd dlmZ d dlmZ ej                  j                  dddg      d        Zej                  j                  ddd	g      d
        Zd Zd Zd Zd Zd Zd Zd Zej                  j                  dej(                  ej*                  g      ej                  j                  dddid e       ig      d               Zd Zd Zd Zd Zd Zd Zy)    N)Serieszoperation, expected)mina)maxbc                 R    t        ddgd      } t        ||              }||k(  sJ y )Nr   r   stringdtype)r   getattr)	operationexpectedserres_operation_series       a/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/series/test_reductions.pytest_reductions_series_stringsr   	   s4     #s8
,C1'#y13(***    	as_periodTFc           
      r   t        t        dd      D cg c]  }t        j                  dd|       c}      }| r|j                  j                  d      }n|j                  j                  d      }|j                         }|j                  |j                  k(  sJ t        j                  ||       y c c}w )N      i     Dz
US/Central)r   rangepd	Timestampdt	to_periodtz_localizemoder   tmassert_series_equal)r   nr   ress       r   test_mode_extension_dtyper%      s     E!QK@q",,tQ*@
ACffs#ff  .
((*C99		!!!3$ As   B4c           	      z   t        dddt        j                  ddt        j                  g|       }|j                  d      }t        ddt        j                  g|       }t	        j
                  ||       |j                  d      }t        ddg|       }t	        j
                  ||       t        j                  |d<   |j                  d      }t        ddg|       }t	        j
                  ||       |j                  d      }t        t        j                  g|       }t	        j
                  ||       y )	Nr         r
   FdropnaT)r   r   NAr    r!   r"   )any_numeric_ea_dtyper   resultr   s       r   test_mode_nullable_dtyper/       s    
!Q255!Q.6J
KCXXUX#Fq!RUUm+?@H68,XXTX"Fq!f$89H68,eeCGXXTX"Fq!f$89H68,XXUX#Fruug%9:H68,r   c                    t        g d|       }|j                  d      }t        dg|       }t        j                  ||       t        ddddt        j
                  g|       }|j                  d      }t        dg|       }t        j                  ||       t        dt        j
                  t        j
                  g|       }|j                  d      }t        t        j
                  g|       }t        j                  ||       t        ddt        j
                  t        j
                  g|       }|j                  d      }t        dt        j
                  g|       }t        j                  ||       y )N)r   r(   r'   r   r
   Fr)   r   r(   r'   )r   r    r!   r"   r   r,   )r-   r   r.   r   ser2ser3ser4s          r   "test_mode_nullable_dtype_edge_caser4   6   s+   
%9
:CXXUX#Fqc!56H68,1aAruu%-ABDYYeY$Fqc!56H68,1beeRUU#+?@DYYeY$Fruug%9:H68,1a&.BCDYYeY$Fq"%%j(<=H68,r   c                     t        j                  d       t        ddgt              } t	        j
                  dd      5  | j                         }d d d        t        ddgt              }t        j                  |       y # 1 sw Y   3xY w)Npyarrowr   r   r
   zfuture.infer_stringT)	pytestimportorskipr   objectr   option_contextr    r!   r"   )r   r.   r   s      r   test_mode_infer_stringr;   M   sq    
	"
#s6
*C			0$	7 sCj/H68, s   BBc                      t        dt        j                  gd      } | d   }| j                         |k(  sJ | j	                         |k(  sJ | j                         |k(  sJ y )Nr   zm8[ns]r
   )r   r   NaTmedianr   r   )r   exps     r   test_reductions_td64_with_natr@   W   s[    
!RVVH
-C
a&C::<3779779r   c                     t        g d      }|j                  |       }t        |t        j                        sJ |t        j                  d      k(  sJ y )Nztimedelta64[ns]r
   )skipnar   )r   sum
isinstancer   	Timedelta)rB   r   r.   s      r   test_td64_sum_emptyrF   `   sI    
,
-CWWFW#Ffbll+++R\\!_$$$r   c                     t        t        j                  dddd            } | dxx   t        j                  d      z  cc<   | | j	                         z
  j                         }t        j                  t        j                  | | j	                         z
        j                  t        |       z  j                               }t        j                  |j                  dz  |j                  dz        sJ d	}t        j                  t        |
      5  | | j	                         z
  j                          d d d        | dd }t        j                  t        |
      5  ||j	                         z
  j                          d d d        | dd }||j	                         z
  j                          y # 1 sw Y   zxY w# 1 sw Y   <xY w)N20130101i hns)periodsfrequnitr   z1s 1msi  zoverflow in timedelta operationmatchi'  )r   r   
date_rangerE   r   meanTimedeltaIndexasi8lenrC   npallclose_valuer7   raises
ValueError)r   r.   r   msgs1s2s         r   test_td64_summation_overflowr]   i   sV   
z6$O
PCFbll8$$F CGGIo##%F||R..sSWWY?DDs3xOTTVWH ;;v}}t+X__t-CDDD ,C	z	-  	swwy  
QuB	z	- 	bffh	QtB"&&(]    s   "F+"F7+F47G c                  x    t        g dt        d            } | j                         }t        |t               rJ y )N)      ?r_   r_   r'   )index)r   r   prodrD   )r   r.   s     r   test_prod_numpy16_bugrb      s0    
a
1CXXZF&&))))r   funckwargskeepdimsoutc                     t        ddg      }t        t        |             }|j                  }d| d| d}t	        j
                  t        |      5   ||fi |  d d d        y # 1 sw Y   y xY w)Nr   r(   zthe 'z=' parameter is not supported in the pandas implementation of z\(\)rN   )r   nextiter__name__r7   rX   rY   )rd   rc   r   paramnamerZ   s         r   )test_validate_any_all_out_keepdims_raisesrm      sy     !Q.CfE==D w "V4	) 
 
z	- SF  s   
A%%A.c                      t        ddg      } d}t        j                  t        |      5  t	        j
                  | d       d d d        y # 1 sw Y   y xY w)Nr   r(   zPthe 'initial' parameter is not supported in the pandas implementation of sum\(\)rN   
   )initialr   r7   rX   rY   rU   rC   r   rZ   s     r   test_validate_sum_initialrs      sL    
!Q.C	% 
 
z	-  
sB        AAc                      t        ddg      } d}t        j                  t        |      5  | j	                  d       d d d        y # 1 sw Y   y xY w)Nr   r(   z[the 'overwrite_input' parameter is not supported in the pandas implementation of median\(\)rN   T)overwrite_input)r   r7   rX   rY   r>   rr   s     r   test_validate_median_initialrw      sN    
!Q.C	( 
 
z	- ) 	

4
() ) )s   AAc                      t        ddg      } d}t        j                  t        |      5  t	        j
                  | d       d d d        y # 1 sw Y   y xY w)Nr   r(   zQthe 'keepdims' parameter is not supported in the pandas implementation of sum\(\)rN   T)re   rq   rr   s     r   test_validate_stat_keepdimsry      sL    
!Q.C	% 
 
z	- #
sT"# # #rt   c                  p   t        ddg      } | j                         dk(  sJ d}t        j                  t        |      5  | j                          d d d        | j                         }d}t        j                  t        |      5  |j                          d d d        y # 1 sw Y   PxY w# 1 sw Y   y xY w)N1212zHCould not convert string '12' to numeric|does not support|Cannot performrN   zECould not convert \['12'\] to numeric|does not support|Cannot perform)r   rC   r7   rX   	TypeErrorrQ   to_frame)r   rZ   dfs      r   (test_mean_with_convertible_string_raisesr      s    
#s
C779
TC	y	, 
 
B
RC	y	, 
	  
 s    B B, B),B5c                     t        j                  dddg      } d}t        j                  t        |      5  | j                          d d d        t        j                  t        |      5  | j                  d       d d d        d}t        j                  t        |      5  | d   j                          d d d        d	}t        j                  t        |      5  t        j
                  | d   j                  d
      j                         d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   yxY w# 1 sw Y   y xY w)NJ{   )dbnumericzDCould not convert \['J'\] to numeric|does not support|Cannot performrN   rQ   zGCould not convert string 'J' to numeric|does not support|Cannot performr   zECould not convert string 'J' to numeric|ufunc 'divide'|Cannot performr	   )
r   	DataFramer7   rX   r~   rQ   aggrU   astypearray)r   rZ   s     r   #test_mean_dont_convert_j_to_complexr      s    	cc23	4B
QC	y	, 
	 
y	, 
v TC	y	, 
4
QC	y	, 1
4)//01 1   1 1s/   D+D""D.2D:D"D+.D7:Ec                  F   d} t        g d      }t        j                  t        |       5  |j	                          d d d        d} |j                         }t        j                  t        |       5  |j	                          d d d        y # 1 sw Y   PxY w# 1 sw Y   y xY w)NzICannot convert \['1' '2' '3'\] to numeric|does not support|Cannot perform)r{   r|   3rN   zMCannot convert \[\['1' '2' '3'\]\] to numeric|does not support|Cannot perform)r   r7   rX   r~   r>   r   )rZ   r   r   s      r   *test_median_with_convertible_string_raisesr      s    
VC

!C	y	, 

 	Y  
B	y	, 
		   s   B1BBB )numpyrU   r7   pandasr   r   pandas._testing_testingr!   markparametrizer   r%   r/   r4   r;   r@   rF   r]   rb   anyallr9   rm   rs   rw   ry   r   r   r    r   r   <module>r      s        .|0LM+ N+ tUm4% 5%-,-.-%2* "&&"&&!12Z$68I#JK L 3 
)#1$r   