
    Mh                        S SK r S SKrS SKrS SKJr  S SKJr  S SKJ	r	J
r
  S SKrS SKJrJr  S SKJr  S r\R&                  R)                  S/ SQ5      S	 5       rS
 r\R&                  R/                  \=(       d    \" 5       SS9S 5       rS r\R&                  R)                  S\R4                  5      S 5       rS rS rg)    N)using_pyarrow_string_dtype)PYPY)is_dtype_equalis_object_dtype)IndexSeriesc                     [         R                  R                  R                  n U R	                  S5      (       d   e[         R                  R
                  R                  n U R	                  S5      (       d   e[        R                  R                  n U R	                  S5      (       d   e[        R
                  R                  n U R	                  S5      (       d   eg )Nz4
DataFrame.notnull is an alias for DataFrame.notna.
z2
DataFrame.isnull is an alias for DataFrame.isna.
z.
Series.notnull is an alias for Series.notna.
z,
Series.isnull is an alias for Series.isna.
)pd	DataFramenotnull__doc__
startswithisnullr   )docs    M/var/www/html/env/lib/python3.13/site-packages/pandas/tests/base/test_misc.pytest_isnull_notnull_docstringsr      s    
,,


&
&C>>RSSSS
,,


%
%C>>PQQQQ
..
 
 C>>LMMMM
--

C>>JKKKK    zop_name, op))add+)sub-)mul*)mod%)powz**)truediv/)floordivz//c                     U nUR                   R                  5       nSnSR                  XBU/5      nU[        X15      R                  ;   d   eSR                  XRU/5      nU[        USU-   5      R                  ;   d   eg )Nother r)__name__lowerjoingetattrr   )frame_or_seriesop_nameopklassoperand1operand2expected_strs          r   test_binary_ops_docstringr/   $   s     E~~##%HH88X845L752::::: 88X845L75#-8@@@@@r   c                    U nS H  n[        XS 5      b  M   e   S H  n[        X5      (       d  M   e   Sn[        R                  " [        US9   UR                  5         S S S 5        UR                  S:X  d   eUR                  [        U5      :X  d   e[        S/5      R                  5       S:X  d   e[        S/5      R                  5       S:X  d   eg ! , (       d  f       N|= f)N)shapedtypeTnbytes)stridesitemsizebasedataz6can only convert an array of size 1 to a Python scalarmatch   )r'   hasattrpytestraises
ValueErroritemndimsizelenr   r   )index_or_series_objobjpmsgs       r   test_ndarray_compat_propertiesrH   ?   s    
C /st$000 / 53??"" 5 CC	z	-
 
. 88q==88s3x!:??!!!1#;""" 
.	-s   C
C&z=not relevant for PyPy doesn't work properly for arrow stringsreasonc                 t   U n[        U[        5      (       a'  SnUR                  R                  R	                  5         OSnUR                  R	                  5         UR                  5       nUR                  SS9n[        U5      =(       d    U=(       a    [        UR                  5      n[        UR                  [        R                  5      =(       d7    U=(       a.    [        UR                  R                  [        R                  5      n[        US5      =(       d)    U=(       a     [        UR                  R                  S5      n[        U5      S:X  a  SnXCs=:X  a  U:X  d   e   eO$U(       d  U(       d  U(       a  XC:  d   eOX4:X  d   eU[        R                  " U5      -
  n	[        U	5      S:  d   eg )NTF)deepzstring[python]r   d   )
isinstancer   index_engineclear_mappingmemory_usager   r2   r
   CategoricalDtyper   rC   sys	getsizeofabs)
index_or_series_memory_objrE   is_serresres_deep	is_objectis_categoricalis_object_stringexpecteddiffs
             r   test_memory_usager`   U   sX   
 %C#v		'')!!#



CT*H$O)NOCII4NI		2+>+>? C:ciioor/B/BC  &c+;< D>#))//3CD  3x1}*(*****	n(8~~ cmmC((Dt9s??r   c                     U nUR                  SS9nUR                  SS9nUR                  R                  5       nX#U-   :X  d   eg )NTrO   F)rR   rO   )series_with_simple_indexseriestotal_usagenon_index_usageindex_usages        r   #test_memory_usage_components_seriesrh   }   sP    %F%%D%1K)))6O,,++-KK7777r   r2   c           	          [        [        S5      U [        S5       Vs/ s H  nSU 3PM
     snSS9nUR                  SS9nUR                  SS9nUR                  R                  5       nX4U-   :X  d   eg s  snf )N   zi-a)r2   rO   nameTrb   F)r   rangerR   rO   )r2   ird   re   rf   rg   s         r   *test_memory_usage_components_narrow_seriesro      s    E!HEE!H1MHqBqc(H1MTWXF%%D%1K)))6O,,++-KK7777	 2Ns   A6c           	      T   Un[        U[        R                  5      (       a-  U R                  [        R
                  R                  SS95        O]UR                  R                  S:X  aC  [        U[        5      (       a.  [        R
                  R                  SS9nU R                  U5        [        USS9n[        R                  " X$5      nSUs=::  a  [        U5      ::  d   e   e[        R                  " X$[        [        U5      5      S9nSUs=::  a  [        U5      ::  d   e   eg )Nz7np.searchsorted doesn't work on pd.MultiIndex: GH 14833rI   cz"complex objects are not comparabler   )default)sorter)rN   r
   
MultiIndexapplymarkerr=   markxfailr2   kindr   maxnpsearchsortedrC   rm   )requestrD   rE   rv   max_objrO   s         r   test_searchsortedr~      s     C#r}}%%KKP  	

 
3	:c5#9#9 {{  (L MD!#q!GOOC)E!S!!!!!OOCs3xAE!S!!!!!r   c                    U n[        U5      S:X  a  [        R                  " S5        [        U5      nUS   UR                  S   :X  d   eUS   UR                  S   :X  d   eUS   UR                  S   :X  d   e[        U5      nUS   XS-
     :X  d   eSU SU 3n[        UR                  S5      (       d  [        UR                  S	5      (       a  S
n[        R                  " [        US9   X     S S S 5        Sn[        R                  " [        US9   UR                  U     S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)Nr   z%Test doesn't make sense on empty datarj   r;   zindex z' is out of bounds for axis 0 with size zstring[pyarrow]zstring[pyarrow_numpy]zindex out of boundsr9   z*single positional indexer is out-of-bounds)	rC   r=   skipr   ilocr   r2   r>   
IndexError)
index_flatrO   rd   rB   rG   s        r   test_access_by_positionr      s*   E
5zQ;<E]F8v{{1~%%%8v{{1~%%%9B'''u:D9Qh'''4&?v
FCekk#455,: : $	z	- 
.
6C	z	-D 
.	- 
.	- 
.	-s   /D0E0
D>
E)rT   numpyrz   r=   pandas._configr   pandas.compatr   pandas.core.dtypes.commonr   r   pandasr
   r   r   pandas._testing_testingtmr   rv   parametrizer/   rH   skipifr`   rh   NARROW_NP_DTYPESro   r~   r    r   r   <module>r      s    
   5 
  
L AA#, (&(J  !	!H8 ""5"568 78"4r   