a
    é´«j¦0  ã                   @   sŽ   d dl mZ d dlZ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 d dlZd dlmZmZmZmZ d dlmZ G dd„ dƒZdS )	é    )ÚdeepcopyN)Úusing_string_dtype)Úoption_context)ÚHAS_PYARROW)Ú	DataFrameÚSeriesÚ
date_rangeÚtimedelta_rangec                	   @   s,  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Ze	j
jeƒ oFedd�dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Ze	j
 d!eƒ ed"gd#�ed"gd$�ed"g iƒg¡d%d&„ ƒZd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Ze	j
 d3g d4¢¡d5d6„ ƒZ d7d8„ Z!d9d:„ Z"d;S )<ÚTestDataFrameMiscc                 C   sn   |d }|j dksJ ‚| d¡}|j dks.J ‚|jd d …df }|j dksNJ ‚|jd d … }|j dksjJ ‚d S )NÚAÚB)ÚnameÚpopÚloc)ÚselfÚfloat_frameÚsÚs2© r   úZ/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/frame/test_api.pyÚtest_getitem_pop_assign_name   s    
z.TestDataFrameMisc.test_getitem_pop_assign_namec                 C   sÌ  |}|  d¡dksJ ‚|  d¡dks(J ‚|  d¡dks:J ‚|  d¡dksLJ ‚|  d¡dks^J ‚| d¡dkspJ ‚| d¡dks‚J ‚| d¡dks”J ‚| d¡dks¦J ‚| d¡dks¸J ‚| d¡|ju sÌJ ‚| d¡|ju sàJ ‚tjtdd�� |  d¡ W d   ƒ n1 �s0    Y  tjtd	d�� | d
¡ W d   ƒ n1 �sJ0    Y  tjtdd�� | d ¡ W d   ƒ n1 �s„0    Y  tjtdd�� |  d ¡ W d   ƒ n1 �s¾0    Y  d S )Nr   é   ÚindexÚrowsÚcolumnszNo axis named©Úmatché   zNo axis.*fooÚfoozNo axis.*None)Z_get_axis_numberZ_get_axis_nameZ	_get_axisr   r   ÚpytestÚraisesÚ
ValueError)r   r   Úfr   r   r   Útest_get_axis%   s*    ***zTestDataFrameMisc.test_get_axisc                 C   s<   t jtdd�� |j|v  W d   ƒ n1 s.0    Y  d S )Nzunhashable type: 'Index'r   )r   r    Ú	TypeErrorr   )r   r   r   r   r   Útest_column_contains_raisesB   s    z-TestDataFrameMisc.test_column_contains_raisesc                 C   sÌ   t tdƒtdƒgtdƒd�}tdƒD ]}|t|ƒv s$J ‚q$t| d¡tƒsNJ ‚t tdƒtdƒgtj tt	ddƒƒ¡d�}tdƒD ]}|t|ƒv s€J ‚q€tdƒD ]}|t|ƒvsžJ ‚qžt| d¡t ƒsÈJ ‚d S )NÚabcdZefghÚABCD©r   r   ZEFGH)
r   ÚlistÚdirÚ
isinstanceÚ__getitem__r   ÚpdZ
MultiIndexÚfrom_tuplesÚzip)r   ÚdfÚkeyr   r   r   Útest_tab_completionF   s    þz%TestDataFrameMisc.test_tab_completionc                 C   sî   dd„ t dƒD ƒ}t dƒt dƒg}t||d�}dt|ƒv s>J ‚dt|ƒvsNJ ‚tddƒ�< t||d�}d	t|ƒv svJ ‚d
t|ƒvs†J ‚W d   ƒ n1 sš0    Y  tdd ƒ�, t||d�}dt|ƒv sÌJ ‚W d   ƒ n1 sà0    Y  d S )Nc                 S   s   g | ]}d t |ƒ ‘qS )Úa)Ústr)Ú.0Úir   r   r   Ú
<listcomp>[   ó    z@TestDataFrameMisc.test_display_max_dir_items.<locals>.<listcomp>i¤  r(   Za99Za100zdisplay.max_dir_itemsi,  Za299Za300Za419)Úranger   r*   r   )r   r   Úvaluesr0   r   r   r   Útest_display_max_dir_itemsY   s    .z,TestDataFrameMisc.test_display_max_dir_itemsc                 C   s„   t ƒ }t dgƒ}d}tjt|d�� t|ƒ W d   ƒ n1 s@0    Y  tjt|d�� t|ƒ W d   ƒ n1 sv0    Y  d S )Nr   zunhashable type: 'DataFrame'r   )r   r   r    r$   Úhash)r   Úempty_framer0   Úmsgr   r   r   Útest_not_hashablel   s    
&z#TestDataFrameMisc.test_not_hashablezsurrogates not allowed)Úreasonc                 C   s6   d}t |g iƒ}|t|ƒvs J ‚|jd |ks2J ‚d S )Nu   í ½r   )r   r*   r   )r   Zcolnamer0   r   r   r   Ú+test_column_name_contains_unicode_surrogatev   s    z=TestDataFrameMisc.test_column_name_contains_unicode_surrogatec                 C   sH   t tj d¡ d¡ƒ}t tj d¡ d¡ƒ}d|j_|jjd u sDJ ‚d S )Nr   )r   é   r   )r   ÚnpÚrandomZdefault_rngZstandard_normalr   r   )r   Zdf1Zdf2r   r   r   Útest_new_empty_index�   s    z&TestDataFrameMisc.test_new_empty_indexc                 C   sp   |  d¡}||ju sJ ‚|  d¡}||ju s0J ‚d}tjt|d�� |  d¡ W d   ƒ n1 sb0    Y  d S )Nr   r   zAxis must be 0 or 1 \(got 2\)r   r   )Z_get_agg_axisr   r   r   r    r!   )r   r   ÚcolsÚidxr>   r   r   r   Útest_get_agg_axis‡   s    

z#TestDataFrameMisc.test_get_agg_axisc                 C   sX   t ƒ }|jsJ ‚|jrJ ‚|jr$J ‚t g d¢g d¢dœt d¡d�}|d= |jrTJ ‚d S )N)g      ð?g       @g      @©r3   ÚbÚc©r   r   rB   ©r   r   )r   ÚemptyrC   Úarange)r   r   Úfloat_string_framer=   r0   r   r   r   Ú
test_empty’   s    


 zTestDataFrameMisc.test_emptyc                 C   sF   t |ƒt |jƒksJ ‚|ddg j}|jddgd�j}t ||¡ d S )Nr   r   r(   )Úlenr   r:   ZreindexÚtmZassert_almost_equal)r   r   ZarrÚexpectedr   r   r   Útest_lenž   s    zTestDataFrameMisc.test_lenc                 C   sP   |}|j dd�}|j dd�}t ||¡ |j dd�}|j dd�}t ||¡ d S )Nr   )Zaxisr   r   r   )ÚsumrS   Úassert_series_equal)r   r   r"   rT   Úresultr   r   r   Útest_axis_aliases¦   s    z#TestDataFrameMisc.test_axis_aliasesc                 C   s$   t  tj¡sJ ‚t  tj¡s J ‚d S ©N)ÚpydocÚgetdocr   r   r   )r   r   r   r   Útest_class_axis²   s    z!TestDataFrameMisc.test_class_axisc                 C   s*   |j }| ¡ D ]\}}|j|ksJ ‚qd S rZ   )Z_seriesÚitemsr   )r   rP   ZseriesÚkÚvr   r   r   Útest_series_put_names¸   s    z'TestDataFrameMisc.test_series_put_namesc                 C   sb   t g d¢ƒ}|jrJ ‚t dgdgd�}|jr0J ‚t ddgddgd� ¡ }|jsRJ ‚|jjs^J ‚d S )N)r   r   rB   r   )r   r   r3   rJ   rK   Úd)r   rN   ZdropnaÚT©r   r0   r   r   r   Útest_empty_nonzero½   s    


z$TestDataFrameMisc.test_empty_nonzeror0   r   rM   r(   c                 C   s   |j s
J ‚|jj sJ ‚d S rZ   )rN   rc   rd   r   r   r   Útest_empty_likeÆ   s    

z!TestDataFrameMisc.test_empty_likec                 C   sT   t tddd�tddd�dœƒ}|j}|j ¡ }tt d¡didd�}t	 
||¡ d S )	NZ20130101é
   )Zperiodsz1 dayrL   ÚobjectÚcount)r   )r   r   r	   rc   ZdtypesZvalue_countsr   rC   ZdtyperS   rW   )r   r0   ÚtrX   rT   r   r   r   Útest_with_datetimelikesÓ   s    

þÿ
z)TestDataFrameMisc.test_with_datetimelikesc                 C   s$   t |ƒ}d|jd< | |¡r J ‚d S )Nrg   )r   r   )r   r   Úequals)r   r   Úcpr   r   r   Útest_deepcopyà   s    
zTestDataFrameMisc.test_deepcopyc                 C   sD  t g d¢g d¢g d¢dœƒ}dd„ }dd„ }|| ¡ |ƒ d	d„ }|| d
¡|ƒ dd„ }|| ¡ |ƒ dd„ }|| ¡ |ƒ dd„ }|| ¡ |ƒ dd„ }|| ¡ |ƒ dd„ }|| ¡ |ƒ dd„ }|| ¡ |ƒ | ¡ d }dd„ }|| d
¡d |ƒ dd„ }|| ¡ |ƒ dd„ }|| ¡ |ƒ dd„ }|| ¡ |ƒ d S )N)r   ÚbarZbazZqux)r   r   r   r   )r   r   rB   é   rI   c                 S   s   || ƒ}|d u sJ ‚d S rZ   r   )Úbaser"   rX   r   r   r   Ú_check_fì   s    z<TestDataFrameMisc.test_inplace_return_self.<locals>._check_fc                 S   s   | j ddd�S )Nr3   T©Úinplace)Ú	set_index©Úxr   r   r   Ú<lambda>ó   r8   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>c                 S   s   | j dd�S ©NTrs   ©Zreset_indexrv   r   r   r   rx   ÷   r8   r3   c                 S   s   | j dd�S ry   )Zdrop_duplicatesrv   r   r   r   rx   û   r8   c                 S   s   | j ddd�S )NrJ   Trs   )Zsort_valuesrv   r   r   r   rx   ÿ   r8   c                 S   s   | j dd�S ry   )Z
sort_indexrv   r   r   r   rx     r8   c                 S   s   | j ddd�S ©Nr   Trs   ©Zfillnarv   r   r   r   rx     r8   c                 S   s   | j dddd�S ©Nr   r   Trs   ©Úreplacerv   r   r   r   rx     r8   c                 S   s   | j ddidd�S ©Nr   r   Trs   ©Úrenamerv   r   r   r   rx     r8   rK   c                 S   s   | j ddd�S )NT)rt   Zdroprz   rv   r   r   r   rx     r8   c                 S   s   | j ddd�S r{   r|   rv   r   r   r   rx     r8   c                 S   s   | j dddd�S r}   r~   rv   r   r   r   rx     r8   c                 S   s   | j ddidd�S r€   r�   rv   r   r   r   rx   "  r8   )r   Úcopyru   )r   Údatarr   r"   rb   r   r   r   Útest_inplace_return_selfå   s:    ÿz*TestDataFrameMisc.test_inplace_return_selfc              	   C   s¢   t jddd� ddlm} |tu r(d}nd}| |¡ tjd dd	��J |d
ƒ�" t|j	 
dd¡ƒ W d   ƒ n1 sv0    Y  W d   ƒ n1 s”0    Y  d S )NZIPythonz6.0.0)Z
minversionr   )Úprovisionalcompleterz/from pandas import DataFrame; obj = DataFrame()z5from pandas import Series; obj = Series(dtype=object)F)Zraise_on_extra_warningsÚignorezobj.r   )r   ZimportorskipZIPython.core.completerr†   r   Zrun_cellrS   Úassert_produces_warningr)   Z	CompleterZcompletions)r   ÚipÚframe_or_seriesr†   Úcoder   r   r   Útest_tab_complete_warning%  s    

z+TestDataFrameMisc.test_tab_complete_warningc                 C   sJ   t dddgiƒ}|ji ksJ ‚d|jd< |jtd�}|jddiksFJ ‚d S )Nr   r   rB   r   Úversionr(   ©r   Úattrsr‚   r4   ©r   r0   rX   r   r   r   Ú
test_attrs6  s
    
zTestDataFrameMisc.test_attrsc                 C   sd   t dddgiƒ}|ji ksJ ‚ddh|jd< |jtd�}|j|jksHJ ‚|jd |jd us`J ‚d S )Nr   r   rB   ZspamZhamÚtagsr(   rŽ   r�   r   r   r   Útest_attrs_deepcopy>  s    z%TestDataFrameMisc.test_attrs_deepcopyÚallows_duplicate_labels)TFNc                 C   s~  t dddgiƒ}d}|tu r(|d }d}|j|d�}|d u rN|jjdu s^J ‚n|jj|u s^J ‚||usjJ ‚|jjdu szJ ‚|tu r˜t |j|j¡s´J ‚nt |d j|d j¡s´J ‚t 	|¡� d|j
|< W d   ƒ n1 sÞ0    Y  |�r|j
| dk�sNJ ‚nJ|j
| dk�sJ ‚t 	|¡� d|j
|< W d   ƒ n1 �sD0    Y  |jd|d�}d	|j
|< |j
| dk�szJ ‚d S )
Nr   r   r   )r   r   r   )r”   T)rƒ   r”   rg   )r   r   Z	set_flagsÚflagsr”   rC   Zmay_share_memoryr:   rS   Zassert_cow_warningZiloc)r   r”   rŠ   Zusing_copy_on_writeZwarn_copy_on_writeÚobjr1   rX   r   r   r   Útest_set_flagsG  s4    (*ÿ
z TestDataFrameMisc.test_set_flagsc                 C   sV   t ƒ }d}tjt|d��* | t d¡ ddd¡¡ W d   ƒ n1 sH0    Y  d S )Nz<'DataFrame' object has no attribute '_constructor_expanddim'r   é   rB   )r   r   r    ÚAttributeErrorZ_constructor_expanddimrC   rO   Zreshape©r   r0   r>   r   r   r   Útest_constructor_expanddimz  s    z,TestDataFrameMisc.test_constructor_expanddimc                 C   sH   t ƒ }d}tjt|dd�� t |¡ W d   ƒ n1 s:0    Y  d S )NzDataFrame._data is deprecatedF)r   Zcheck_stacklevel)r   rS   rˆ   ÚDeprecationWarningÚinspectÚ
getmembersrš   r   r   r   Útest_inspect_getmembers„  s    ÿz)TestDataFrameMisc.test_inspect_getmembersN)#Ú__name__Ú
__module__Ú__qualname__r   r#   r%   r2   r;   r?   r   ÚmarkZxfailr   r   rA   rE   rH   rQ   rU   rY   r]   ra   re   Zparametrizer   rf   rk   rn   r…   rŒ   r‘   r“   r—   r›   rŸ   r   r   r   r   r
      sJ   

ÿ
	


üþ	
@	
2
r
   )rƒ   r   r�   r[   ÚnumpyrC   r   Zpandas._configr   Zpandas._config.configr   Zpandas.compatr   Zpandasr-   r   r   r   r	   Zpandas._testingZ_testingrS   r
   r   r   r   r   Ú<module>   s   