
    bMh                        d dl Z d dlZd dlZd dlmZ d dlmZ d dl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p	 e            d          d             Zd Zej                            dej                  d             Zd Zej                            d          d             ZdS )    N)using_string_dtype)PYPY)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    [/var/www/html/test/jupyter/venv/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_docstringr/   $   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_propertiesrH   ?   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 doesn't work properly for arrow stringsreasonc                     | }t          |t                    r!d}|j        j                                         nd}|j                                         |                                }|                    d          }t          |          p|ot          |j                  }t          |j        t          j	                  p%|o#t          |j        j        t          j	                  }t          |d          p|ot          |j        j        d          }t          |          dk    r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 )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   s   
 %C#v $	''))))!!###




CT**H$$O)NOCI4N4NI	2+>?? C:cior/BCC  &c+;<< D>#)/3CDD  3xx1}}3****(*******	 n (8 #~~~~~h cmC(((Dt99s??????r   c                     | }|                     d          }|                     d          }|j                                         }|||z   k    sJ d S )NTrO   F)rR   rO   )series_with_simple_indexseriestotal_usagenon_index_usageindex_usages        r   #test_memory_usage_components_seriesrh   }   sb    %F%%D%11K)))66O,++--K/K7777777r   r2   c                    t          t          d          | d t          d          D             d          }|                    d          }|                    d          }|j                                        }|||z   k    sJ d S )N   c                     g | ]}d | S )zi- ).0is     r   
<listcomp>z>test_memory_usage_components_narrow_series.<locals>.<listcomp>   s    1M1M1Mq(q((1M1M1Mr   a)r2   rO   nameTrb   F)r   rangerR   rO   )r2   rd   re   rf   rg   s        r   *test_memory_usage_components_narrow_seriesrs      s    E!HHE1M1ME!HH1M1M1MTWXXXF%%D%11K)))66O,++--K/K7777777r   c           	         |}t          |t          j                  r4|                     t          j                            d                     nZ|j        j        dk    rJt          |t                    r5t          j                            d          }|                     |           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 14833rI   cz"complex objects are not comparabler   )default)sorter)rN   r
   
MultiIndexapplymarkerr=   markxfailr2   kindr   maxnpsearchsortedrC   rr   )requestrD   rE   rz   max_objrO   s         r   test_searchsortedr      sG    C#r}%% "KP   	
 	
 	
 	

 
3		:c5#9#9	 {  (L MMD!!!#q!!!GOC))E!!!!S!!!!!!OCs3xxAAAE!!!!S!!!!!!!!r   z$ignore:Dtype inference:FutureWarningc                    | }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        t          j                  r|j        j	        dk    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 datarj   r;   zindex z' is out of bounds for axis 0 with size pyarrowzindex out of boundsr9   z*single positional indexer is out-of-bounds)rC   r=   skipr   ilocrN   r2   r
   StringDtypestorager>   
IndexError)
index_flatrO   rd   rB   rG   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%+r~.. $5;3F)3S3S#	z	-	-	-  d              
6C	z	-	-	-  D                 s$   >	DDD;EEE)rT   numpyr~   r=   pandas._configr   pandas.compatr   pandas.core.dtypes.commonr   r   pandasr
   r   r   pandas._testing_testingtmr   rz   parametrizer/   rH   skipifr`   rh   NARROW_NP_DTYPESrs   r   filterwarningsr   rl   r   r   <module>r      s   



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