o
    õ­d³'  ã                   @   sV   d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z G dd„ dƒZdS )é    N)Ú	DataFrameÚSeriesc                   @   s–   e Z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
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej dddg¡d d!„ ƒZd"S )#ÚTestDataFrameMissingDatac                 C   s  t |jƒ}tj |¡}tj|d d…< td|i|jd}t||jdd}| ¡ }| 	¡ | 	¡ }}|jdd}	t
 |d |¡ |jddd}
t
 |	d |¡ t
 |d |¡ |
d u s[J ‚|jddgd	}	|jddgdd
}
t
 |	d |¡ t
 |d |¡ |
d u s‚J ‚d S )Né   Úfoo©Úindex©r   ÚnameÚall©ÚhowT)r   Úinplace)r   Úsubset)r   r   r   )Úlenr   ÚnpÚrandomÚrandnÚnanr   r   ÚdropnaÚcopyÚtmÚassert_series_equal)ÚselfÚfloat_frameÚNÚmatÚframeÚoriginalÚexpectedÚinplace_frame1Úinplace_frame2Úsmaller_frameÚreturn_value© r$   úk/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/frame/methods/test_dropna.pyÚtest_dropEmptyRows   s$   
z+TestDataFrameMissingData.test_dropEmptyRowsc                 C   sB  t |jƒ}tj |¡}tj|d d…< td|i|jd}d|d< t||jdd}| ¡ | ¡ }}| 	¡ }t
 |d |¡ |j	dd}	t|dd … |jdd … dd}
t
 |d |
¡ t
 |d |
¡ |	d u shJ ‚|j	dgd}t
 |d |¡ |d dk ¡ sJ ‚|j	dgdd	}	t
 |j|j¡ t
 |j|j¡ |	d u sŸJ ‚d S )
Nr   r   r   Úbarr	   T©r   ©r   )r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   Úassert_index_equal)r   r   r   r   r   r   Ú
inp_frame1Ú
inp_frame2r"   r#   ÚexpÚsamesize_framer$   r$   r%   Útest_dropIncompleteRows(   s*   
 z0TestDataFrameMissingData.test_dropIncompleteRowsc                 C   s¸  t tj dd¡ƒ}tj|jd d…df< |jdd}|jd d …g d¢f }| ¡ }|jddd}t	 
||¡ t	 
||¡ |d u sAJ ‚|jd	d}|jttddƒƒ }| ¡ }|jd	dd}t	 
||¡ t	 
||¡ |d u snJ ‚|jdd
d}|jd d …g d¢f }| ¡ }|jdd
dd}t	 
||¡ t	 
||¡ |d u sžJ ‚|jd	dd}|jtddƒ }| ¡ }|jd	ddd}t	 
||¡ t	 
||¡ |d u sËJ ‚|jddd}t	 
||¡ |jddd}t	 
||¡ |jd	g d¢d}| ¡ }|jd	g d¢dd}t	 
||¡ t	 
||¡ |d u sJ ‚|jddd}t	 
||¡ tj|d< |jddd}|jd d …g d¢f }t	 
||¡ d}tjt|d |jdd W d   ƒ d S 1 sUw   Y  d S )Né   é   é   é   ©Úaxis)r   r3   é   T)r5   r   r   r   )r5   Úthresh)r5   r7   r   r6   )r5   r   )r5   r   r   r   )r5   r   z)No axis named 3 for object type DataFrame©Úmatch)r   r   r   r   r   Úilocr   Úlocr   r   Úassert_frame_equalÚlistÚrangeÚpytestÚraisesÚ
ValueError)r   ÚdfÚdroppedr   Úinpr#   Úmsgr$   r$   r%   Útest_dropnaC   sd   
$ÿz$TestDataFrameMissingData.test_dropnac                 C   s  t ddtjgdd}t ddg|jdd}td|j ¡ iƒ}| ¡ }|d  ¡  t 	|d |¡ |d }|jdd}t 	||¡ t 	|d |¡ |d u sMJ ‚|d  
dg¡ t 	|d |¡ |d }|j
dgdd}t 	|| 
dg¡¡ t 	|d |¡ |d u sJ ‚d S )Nr3   r2   ÚA)r
   )Údtyper
   Tr(   )r   r   r   rH   r   Úvaluesr   r   r   r   Údrop)r   r   r   rB   Údf2Úserr#   r$   r$   r%   Útest_drop_and_dropna_caching„   s$   z5TestDataFrameMissingData.test_drop_and_dropna_cachingc                 C   s‚   d}t jt|d |jdd W d   ƒ n1 sw   Y  t jtdd |jddgd W d   ƒ d S 1 s:w   Y  d S )	Nzinvalid how option: foor8   r   r   z	^\['X'\]$rG   ÚXr)   )r?   r@   rA   r   ÚKeyError)r   r   rE   r$   r$   r%   Útest_dropna_cornerœ   s   ÿ"ÿz+TestDataFrameMissingData.test_dropna_cornerc                 C   s  t dtjddgdtjddgtjtjtjtjgdtjdd	ggƒ}tjtd
d |jdddgd W d   ƒ n1 s:w   Y  tjtd
d |jddd W d   ƒ n1 sXw   Y  | ¡ }tjtd
d |jdddd W d   ƒ d S 1 s|w   Y  d S )Nr3   r2   r6   r1   r   r0   é   é   é	   zsupplying multiple axesr8   r   r   )r   r5   )r   r3   T)r   r5   r   )r   r   r   r?   r@   Ú	TypeErrorr   r   )r   rB   rD   r$   r$   r%   Útest_dropna_multiple_axes¥   s"   üÿ
ÿÿ"ÿz2TestDataFrameMissingData.test_dropna_multiple_axesc                 C   s°   t ƒ }tjdddtj ¡ d}tjdddtj ¡ d}|g|d< |jdd}t d|giƒ}t ||¡ t d|d tj	|giƒ}|jdd}t ||gdgddgd	}t ||¡ d S )
Niß  r3   )Útzinfor2   ÚTimer   r4   r6   )Úcolumnsr   )
r   ÚdatetimeÚdateutilÚtzÚtzutcr   r   r<   r   r   )r   rB   Údt1Údt2Úresultr   r$   r$   r%   Útest_dropna_tz_aware_datetime¹   s   
z6TestDataFrameMissingData.test_dropna_tz_aware_datetimec                 C   sJ   t j g d¢¡}t  |¡}tdtdƒi|d}|}| ¡ }t ||¡ d S )N)r   g=
×£p=@g…ëQ¸	@g…ëQ¸@rG   Úabcr   )	ÚpdÚIntervalIndexÚfrom_breaksÚCategoricalIndexr   r=   r   r   r<   )r   ÚiiÚcirB   r   r_   r$   r$   r%   Ú&test_dropna_categorical_interval_indexÉ   s   
z?TestDataFrameMissingData.test_dropna_categorical_interval_indexc                 C   s¶   t tj d¡tj d¡tj d¡g d¢dœƒ}tj|jdg d¢f< tj|jd< tj|jd< tj|jd d …df< |jg d	¢d
d}g d¢|_g d¢|_|jddgd
d}t 	||¡ d S )Nr   )ÚaÚbÚcÚdÚe)rG   ÚBÚCÚDr2   )r   r3   r2   )r   r   )r3   r3   r6   ©rG   rn   ro   r   )r   r   )rG   rG   rn   ro   rG   ro   )
r   r   r   r   r   r:   r   rX   r   r<   ©r   rB   r   r_   r$   r$   r%   Ú"test_dropna_with_duplicate_columnsÓ   s    


üÿ

z;TestDataFrameMissingData.test_dropna_with_duplicate_columnsc                 C   s`   t g d¢tdƒdtjdgdœƒ}t ddgtdƒd	d
gdœddgd}|jdd}t ||¡ d S )N©r3   r2   r6   ra   r1   r   rq   r3   r6   Úacç      @g      @r   r2   r   ro   r)   )r   r=   r   ÚNaNr   r   r<   rr   r$   r$   r%   Útest_set_single_column_subsetè   s    ÿz6TestDataFrameMissingData.test_set_single_column_subsetc                 C   sR   t dg d¢iƒ}tjtdd |jddd W d   ƒ d S 1 s"w   Y  d S )NrG   rt   z['D']r8   rp   r   )r   r5   )r   r?   r@   rO   r   )r   rB   r$   r$   r%   Ú&test_single_column_not_present_in_axisñ   s   "ÿz?TestDataFrameMissingData.test_single_column_not_present_in_axisc                 C   s`   t ddtjgtdƒdtjdgdœƒ}t dgdgd	gdœƒ}|jt d
dg¡d}t ||¡ d S )Nr3   r2   ra   r1   r   rq   g      ð?ri   rv   rG   ro   r)   )r   r   rw   r=   r   Úarrayr   r<   rr   r$   r$   r%   Útest_subset_is_nparrayù   s   $z/TestDataFrameMissingData.test_subset_is_nparrayc                 C   sH   t ddgddggt dd¡d}| ¡ }|j|d}tj||dd	 d S )
Nr3   r2   r6   r1   r   )rX   r4   T)Úcheck_index_type)r   rb   Ú
RangeIndexr   r   r   r<   )r   r5   rB   r   r_   r$   r$   r%   Útest_no_nans_in_frame   s    z.TestDataFrameMissingData.test_no_nans_in_framec                 C   sÎ   t ddtjgƒ}d}tjt|d |jddd W d   ƒ n1 s#w   Y  tjt|d |jddd W d   ƒ n1 sAw   Y  tjt|d |jd d d W d   ƒ d S 1 s`w   Y  d S )Nr3   r2   zAYou cannot set both the how and thresh arguments at the same timer8   r   )r   r7   Úany)r   rb   ÚNAr?   r@   rT   r   )r   rB   rE   r$   r$   r%   Ú"test_how_thresh_param_incompatible  s   ÿÿ"ÿz;TestDataFrameMissingData.test_how_thresh_param_incompatibleÚvalr3   g      ø?c                 C   sb   t ddd|gig d¢d}|jdd}t ddd|giƒ}t ||¡ |jddd t ||¡ d S )	Nri   r3   r2   )r6   r2   r3   r   T)Úignore_index)rƒ   r   )r   r   r   r<   )r   r‚   rB   r_   r   r$   r$   r%   Útest_dropna_ignore_index  s   z1TestDataFrameMissingData.test_dropna_ignore_indexN)Ú__name__Ú
__module__Ú__qualname__r&   r/   rF   rM   rP   rU   r`   rh   rs   rx   ry   r{   r~   r   r?   ÚmarkÚparametrizer„   r$   r$   r$   r%   r      s"    A	
	r   )rY   rZ   Únumpyr   r?   Úpandasrb   r   r   Úpandas._testingÚ_testingr   r   r$   r$   r$   r%   Ú<module>   s    