a
    é´«j¥  ã                   @   sì   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d„ Zej dg d	¢¡d
d„ ƒZdd„ Zejjepœeƒ dd�dd„ ƒZdd„ Zej dej¡dd„ ƒZdd„ Zej d¡dd„ ƒZdS )é    N)Úusing_string_dtype)ÚPYPY)Úis_dtype_equalÚis_object_dtype)ÚIndexÚSeriesc                  C   s`   t jjj} |  d¡sJ ‚t jjj} |  d¡s0J ‚tjj} |  d¡sFJ ‚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.
)ÚpdZ	DataFrameZnotnullÚ__doc__Ú
startswithZisnullr   )Údoc© r   úZ/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/base/test_misc.pyÚtest_isnull_notnull_docstrings   s    

r   zop_name, op))Úaddú+)Úsubú-)ÚmulÚ*)Úmodú%)Úpowz**)Útruedivú/)Úfloordivz//c                 C   sb   | }|j  ¡ }d}d |||g¡}|t||ƒjv s6J ‚d |||g¡}|t|d| ƒjv s^J ‚d S )NÚotherú Úr)Ú__name__ÚlowerÚjoinÚgetattrr	   )Zframe_or_seriesZop_nameÚopÚklassZoperand1Zoperand2Zexpected_strr   r   r   Útest_binary_ops_docstring$   s    
r$   c                 C   sÄ   | }dD ]}t ||d ƒd usJ ‚qdD ]}t||ƒr&J ‚q&d}tjt|d�� | ¡  W d   ƒ n1 sj0    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Úmsgr   r   r   Útest_ndarray_compat_properties?   s    &r<   z=not relevant for PyPy doesn't work properly for arrow strings©Úreasonc           
      C   s  | }t |tƒr d}|jj ¡  nd}|j ¡  | ¡ }|jdd�}t|ƒpV|oVt|jƒ}t |jtj	ƒpx|oxt |jjtj	ƒ}t
|dƒp”|o”t
|jjdƒ}t|ƒdkrÂd}||  krº|ksèn J ‚n&|sÎ|sÎ|rÜ||ksèJ ‚n||ksèJ ‚|t |¡ }	t|	ƒdk �sJ ‚d S )NTF)Údeepzstring[python]r   éd   )Ú
isinstancer   ÚindexZ_engineZclear_mappingÚmemory_usager   r&   r   ZCategoricalDtyper   r7   ÚsysÚ	getsizeofÚabs)
Zindex_or_series_memory_objr9   Zis_serÚresZres_deepZ	is_objectZis_categoricalZis_object_stringÚexpectedÚdiffr   r   r   Útest_memory_usageU   s.    

ÿ
ÿrJ   c                 C   s:   | }|j dd�}|j dd�}|j  ¡ }||| ks6J ‚d S )NT©rB   F)rC   rB   )Zseries_with_simple_indexÚseriesÚtotal_usageÚnon_index_usageÚindex_usager   r   r   Ú#test_memory_usage_components_series}   s
    
rP   r&   c                 C   sX   t tdƒ| dd„ tdƒD ƒdd�}|jdd�}|jdd�}|j ¡ }||| ksTJ ‚d S )	Né   c                 S   s   g | ]}d |› �‘qS )zi-r   )Ú.0Úir   r   r   Ú
<listcomp>‡   ó    z>test_memory_usage_components_narrow_series.<locals>.<listcomp>Úa)r&   rB   ÚnameTrK   F)r   ÚrangerC   rB   )r&   rL   rM   rN   rO   r   r   r   Ú*test_memory_usage_components_narrow_series…   s
    "
rY   c                 C   sÄ   |}t |tjƒr&|  tjjdd�¡ n.|jjdkrTt |t	ƒrTtjjdd�}|  |¡ t
|dd�}t ||¡}d|  kr„t|ƒksŠn J ‚tj||tt|ƒƒd�}d|  krºt|ƒksÀn J ‚d S )Nz7np.searchsorted doesn't work on pd.MultiIndex: GH 14833r=   Úcz"complex objects are not comparabler   )Údefault)Zsorter)rA   r   Z
MultiIndexZapplymarkerr1   ÚmarkZxfailr&   Úkindr   ÚmaxÚnpZsearchsortedr7   rX   )Úrequestr8   r9   r\   Zmax_objrB   r   r   r   Útest_searchsortedŽ   s    ÿÿ
ra   z$ignore:Dtype inference:FutureWarningc                 C   s*  | }t |ƒdkrt d¡ t|ƒ}|d |jd ks8J ‚|d |jd ksNJ ‚|d |jd ksdJ ‚t |ƒ}|d ||d  ks„J ‚d|› d|› �}t|jtjƒr²|jj	dkr²d	}tj
t|d
�� ||  W d   ƒ n1 sÞ0    Y  d}tj
t|d
�� |j|  W d   ƒ n1 �s0    Y  d S )Nr   z%Test doesn't make sense on empty datarQ   éÿÿÿÿr/   zindex z' is out of bounds for axis 0 with size Zpyarrowzindex out of boundsr-   z*single positional indexer is out-of-bounds)r7   r1   Úskipr   ZilocrA   r&   r   ZStringDtypeZstorager2   Ú
IndexError)Z
index_flatrB   rL   r6   r;   r   r   r   Útest_access_by_position¨   s"    
&re   )rD   Únumpyr_   r1   Zpandas._configr   Zpandas.compatr   Zpandas.core.dtypes.commonr   r   Zpandasr   r   r   Zpandas._testingZ_testingÚtmr   r\   Zparametrizer$   r<   ZskipifrJ   rP   ZNARROW_NP_DTYPESrY   ra   Úfilterwarningsre   r   r   r   r   Ú<module>   s4   þ
þ
$

