
    d                     l   d dl Z d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlZd dlmZmZ d dlmZ d Zej                            dg d          d             Zd	 Zej                            ed
          d             Zd Zej                            dej                  d             Zd Zd ZdS )    N)IS64PYPY)is_categorical_dtypeis_dtype_equalis_object_dtype)IndexSeriesc                  Z   t           j        j        j        } |                     d          sJ t           j        j        j        } |                     d          sJ t          j        j        } |                     d          sJ t          j        j        } |                     d          sJ d S )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    W/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/base/test_misc.pytest_isnull_notnull_docstringsr      s    
,

&C>>RSSSSS
,

%C>>PQQQQQ
.
 C>>LMMMMM
-
C>>JKKKKKKK    zop_name, op))add+)sub-)mul*)mod%)powz**)truediv/)floordivz//c                 
   | }|j                                         }d}d                    |||g          }|t          ||          j        v sJ d                    |||g          }|t          |d|z             j        v sJ d S )Nother r)__name__lowerjoingetattrr   )frame_or_seriesop_nameopklassoperand1operand2expected_strs          r   test_binary_ops_docstringr0   &   s     E~##%%HH88Xr8455L75'22::::: 88Xr8455L75#-88@@@@@@@r   c                    | }dD ]}t          ||d           J dD ]}t          ||          rJ d}t          j        t          |          5  |                                 d d d            n# 1 swxY w Y   |j        dk    sJ |j        t          |          k    sJ t          dg                                          dk    sJ t          dg                                          dk    sJ d S )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_propertiesrI   A   sO   
C / 1 1sAt$$0000 5 # #3??""""
BC	z	-	-	-  


               8q====8s3xx!::??!!!!1#;;""""""s   A00A47A4znot relevant for PyPyreasonc                    | }|                                 }|                     d          }t          |t                    }t          |          p(t          |t                    ot          |j                  }t          |j                  p-t          |t                    ot          |j        j                  }t          |d          p|ot          |j        j        d          }t          |          dk    r5t          |t                    rd}nt          rdnd}||cxk    r|k    sn J n|s|s|r	||k    sJ n||k    sJ |t          j        |          z
  }	t          |	          dk     sJ d S )NT)deepzstring[python]r   l   @   d   )memory_usage
isinstancer	   r   indexr   r3   r   rD   r   r   sys	getsizeofabs)
rE   rF   resres_deepis_ser	is_objectis_categoricalis_object_stringexpecteddiffs
             r   test_memory_usager_   W   s   
C




CT**HV$$F$$ 3>OCI$>$>  *#)44 3I$8$I$I  &c+;<< D>#)/3CDD  3xx1}}c5!! 	+HH"*ssH3****(*******	 n (8 #~~~~~h cmC(((Dt99s??????r   c                     | }|                     d          }|                     d          }|j                                         }|||z   k    sJ d S )NTrS   F)rQ   rS   )series_with_simple_indexseriestotal_usagenon_index_usageindex_usages        r   #test_memory_usage_components_seriesrg   {   sb    %F%%D%11K)))66O,++--K/K7777777r   r3   c                     t          j        d|           }|                    d          }|                    d          }|j                                        }|||z   k    sJ d S )Na)namer3   Tra   F)tmmake_rand_seriesrQ   rS   )r3   rc   rd   re   rf   s        r   *test_memory_usage_components_narrow_seriesrm      sr     c777F%%D%11K)))66O,++--K/K7777777r   c           	         |}t          |t          j                  r9| j                            t
          j                            d                     n_|j        j	        dk    rOt          |t                    r:t
          j                            d          }| j                            |           t          |d          }t          j        ||          }d|cxk    rt          |          k    sn J t          j        ||t          t          |                              }d|cxk    rt          |          k    sn J d S )Nz7np.searchsorted doesn't work on pd.MultiIndex: GH 14833rJ   cz"complex objects are not comparabler   )default)sorter)rR   r   
MultiIndexnode
add_markerr>   markxfailr3   kindr   maxnpsearchsortedrD   range)requestrE   rF   ru   max_objrS   s         r   test_searchsortedr~      sK    C#r}%% &KP   	
 	
 	
 	

 
3		:c5#9#9	 {  (L MM%%%#q!!!GOC))E!!!!S!!!!!!OCs3xxAAAE!!!!S!!!!!!!!r   c                    | }t          |          dk    rt          j        d           t          |          }|d         |j        d         k    sJ |d         |j        d         k    sJ |d         |j        d         k    sJ t          |          }|d         ||dz
           k    sJ d| d| }t          |j        d          rd	}t          j        t          |
          5  ||          d d d            n# 1 swxY w Y   d}t          j        t          |
          5  |j        |          d d d            d S # 1 swxY w Y   d S )Nr   z%Test doesn't make sense on empty data   r<   zindex z' is out of bounds for axis 0 with size zstring[pyarrow]zindex out of boundsr:   z*single positional indexer is out-of-bounds)	rD   r>   skipr	   ilocr   r3   r?   
IndexError)
index_flatrS   rc   rC   rH   s        r   test_access_by_positionr      s   E
5zzQ;<<<E]]F8v{1~%%%%8v{1~%%%%9B''''u::D9dQh''''
F4
F
F
F
FCek#455 $#	z	-	-	-  d              
6C	z	-	-	-  D                 s$   $	C99C= C=!D<<E E )rT   numpyry   r>   pandas.compatr   r   pandas.core.dtypes.commonr   r   r   pandasr   r   r	   pandas._testing_testingrk   r   ru   parametrizer0   rI   skipifr_   rg   NARROW_NP_DTYPESrm   r~   r    r   r   <module>r      s   



            
                          
L 
L 
L    A A A# # #, D!899    :9 F8 8 8 ""5668 8 768" " "4    r   