
    bMh(                     d    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          ZdS )    N)	DataFrameSeriesc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zej                            dddg          d             ZdS )TestDataFrameMissingDatac                 d   t          |j                  }t          j                            d                              |          }t          j        |d d<   t          d|i|j                  }t          ||j        d          }|	                                }|
                                |
                                }}|	                    d          }	t          j        |d         |           |	                    dd	          }
t          j        |	d         |           t          j        |d         |           |
J |	                    ddg
          }	|	                    ddgd          }
t          j        |	d         |           t          j        |d         |           |
J d S )N      fooindexr   nameallhowT)r   inplace)r   subset)r   r   r   )lenr   nprandomdefault_rngstandard_normalnanr   r   dropnacopytmassert_series_equal)selffloat_frameNmatframeoriginalexpectedinplace_frame1inplace_frame2smaller_framereturn_values              f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_dropna.pytest_dropEmptyRowsz+TestDataFrameMissingData.test_dropEmptyRows   s   !""i##A&&66q99&BQB5#,k.?@@@#[%6UCCC??$$).uzz||//
uU|X666%,,,EE
}U3X>>>
~e4h???###w??%,,wPT,UU
}U3X>>>
~e4h???#####    c                    t          |j                  }t          j                            d                              |          }t          j        |d d<   t          d|i|j                  }d|d<   t          ||j        d          }|	                                |	                                }}|
                                }t          j        |d         |           |
                    d          }	t          |dd          |j        dd          d          }
t          j        |d         |
           t          j        |d         |
           |	J |
                    dg	          }t          j        |d         |           |d         dk                                    sJ |
                    dgd
          }	t          j        |j        |j                   t          j        |j        |j                   |	J d S )Nr   r	   r
   r   barr   Tr   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_frames               r)   test_dropIncompleteRowsz0TestDataFrameMissingData.test_dropIncompleteRows(   s   !""i##A&&66q99&BQB5#,k.?@@@e#[%6UCCC!&uzz||J

uU|X666!(((66SWK$5abb$9FFF
}U3S999
z%0#666###eW55
uU|X666e!&&(((((!(((FF
n2K4EFFF
j.0ABBB#####r+   c                 ,   t          t          j                            d                              d                    }t          j        |j        d ddf<   |                    d          }|j        d d g df         }|	                                }|                    dd          }t          j        ||           t          j        ||           |J |                    d          }|j        t          t          dd	                             }|	                                }|                    dd          }t          j        ||           t          j        ||           |J |                    dd
          }|j        d d g df         }|	                                }|                    dd
d          }t          j        ||           t          j        ||           |J |                    dd          }|j        t          dd	                   }|	                                }|                    ddd          }t          j        ||           t          j        ||           |J |                    dd          }t          j        ||           |                    dd          }t          j        ||           |                    dg d          }|	                                }|                    dg dd          }t          j        ||           t          j        ||           |J |                    dd          }t          j        ||           t          j        |d<   |                    dd          }|j        d d g df         }t          j        ||           d}t          j        t           |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   )         axis)r   r9      T)r;   r   r   r7   r	   )r;   thresh)r;   r=   r   r8   r<   )r;   r   )r;   r   r   r   )r;   r   z)No axis named 3 for object type DataFramematch)r   r   r   r   r   r   ilocr   locr   r   assert_frame_equallistrangepytestraises
ValueError)r   dfdroppedr$   inpr(   msgs          r)   test_dropnaz$TestDataFrameMissingData.test_dropnaC   s   ry,,Q//??GGHHA)))##6!!!YYY,'ggiizzq$z77
gx000
c8,,,###)))##6$uQ{{++,ggiizzq$z77
gx000
c8,,,### ))1)--6!!!YYY,'ggiizzqDzAA
gx000
c8,,,###))1)--6%1++&ggiizzqDzAA
gx000
c8,,,###))1)--
gr***))1)--
gr*** ))999)55ggiizzqDzII
gr***
c2&&&### )))..
gr***1)))..6!!!YYY,'
gx000 :]:S111 	 	II1I	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   %P		PPc                 8   t          ddt          j        gd          }t          ddg|j        d          }t	          d|j                                        i          }|                                }|d                                          t          j	        |d         |           |d         }|                    d          }t          j	        ||           t          j	        |d         |           |J |d         
                    dg           t          j	        |d         |           |d         }|
                    dgd          }t          j	        ||
                    dg                     t          j	        |d         |           |J d S )Nr9   r   A)r   )dtyper   Tr.   )r   r   r   rO   r   valuesr   r   r   r   drop)r   r#   r$   rH   df2serr(   s          r)   test_drop_and_dropna_cachingz5TestDataFrameMissingData.test_drop_and_dropna_caching   sy   1a.s3331a&SAAAX_1133455ggii
3
r#w111gzz$z//
sH---
r#w111###Cqc
s3x222#hxxTx22
sHMM1#$6$6777
s3x222#####r+   c                 4   d}t          j        t          |          5  |                    d           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    ddg           d d d            d S # 1 swxY w Y   d S )	Nzinvalid how option: foor>   r
   r   z	^\['X'\]$rN   Xr/   )rE   rF   rG   r   KeyError)r   r   rK   s      r)   test_dropna_cornerz+TestDataFrameMissingData.test_dropna_corner   s   ']:S111 	* 	*5)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ]8<888 	2 	2sCj111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s#   AAA'BBBc           	         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
          5  |                    dddg           d d d            n# 1 swxY w Y   t          j        t
          d
          5  |                    dd           d d d            n# 1 swxY w Y   |                                }t          j        t
          d
          5  |                    ddd           d d d            d S # 1 swxY w Y   d S )Nr9   r   r<   r8   r	   r7         	   zsupplying multiple axesr>   r   r   )r   r;   )r   r9   T)r   r;   r   )r   r   r   rE   rF   	TypeErrorr   r   )r   rH   rJ   s      r)   test_dropna_multiple_axesz2TestDataFrameMissingData.test_dropna_multiple_axes   s   BFAq!BFAq!0BFAq!	
 
 ]9,EFFF 	. 	.II%q!fI---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.]9,EFFF 	. 	.II%fI---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. ggii]9,EFFF 	= 	=JJ5vtJ<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s6   B++B/2B/C55C9<C9/EEEc                 |   t                      }|r|j                            d          |_        t          j        dddt          j                                                  }t          j        dddt          j                                                  }|g|d<   |                    d          }t          d|gi          }t          j	        ||           t          d|d t          j        |gi          }|                    d          }t          ||gdgdd	g
          }t          j	        ||           d S )Nstri  r9   )tzinfor   Timer   r:   r<   )columnsr   )r   rc   astypedatetimedateutiltztzutcr   r   rB   r   r   )r   using_infer_stringrH   dt1dt2resultr$   s          r)   test_dropna_tz_aware_datetimez6TestDataFrameMissingData.test_dropna_tz_aware_datetime   s'    [[ 	2**511BJa8;3D3D3F3FGGGa8;3D3D3F3FGGGU6
""fse_--
fh/// dBFC 89::""c3Z&!QHHH
fh/////r+   c                    t           j                            g d          }t          j        |          }t	          dt          d          i|          }|}|                                }t          j        ||           d S )N)r   g=
ףp=@gQ	@gQ@rN   abcr   )	pdIntervalIndexfrom_breaksCategoricalIndexr   rC   r   r   rB   )r   iicirH   r$   rl   s         r)   &test_dropna_categorical_interval_indexz?TestDataFrameMissingData.test_dropna_categorical_interval_index   sw    ))*?*?*?@@ $$T%[[)444
fh/////r+   c                    t          t          j                            d                              d          t          j                            d                              d          t          j                            d                              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<   |                    g d	d
          }g d|_        g d|_        |                    ddgd
          }t          j
        ||           d S )Nr   r	   )abcde)rN   BCD)r   r9   r   )r   r   )r9   r9   r<   rN   r}   r~   r   )r   r   )rN   rN   r}   r~   rN   r~   )r   r   r   r   r   r   r@   r   rc   r   rB   r   rH   r$   rl   s       r)   "test_dropna_with_duplicate_columnsz;TestDataFrameMissingData.test_dropna_with_duplicate_columns   s4   Y**1--==a@@Y**1--==a@@Y**1--==a@@...	 
 
 !#999199OOO9??///)))
3*%88
fh/////r+   c                 
   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          }t          j        ||           d S )Nr9   r   r<   ro   r8   r	   r   r9   r<   ac      @g      @r   r   r   r~   r/   )r   rC   r   r   r   r   rB   r   s       r)   test_set_single_column_subsetz6TestDataFrameMissingData.test_set_single_column_subset   s    YYYT%[[261~NNOOa&tDzzc
;;Aq6
 
 
 #&&
fh/////r+   c                     t          dg di          }t          j        t          d          5  |                    dd           d d d            d S # 1 swxY w Y   d S )NrN   r   z['D']r>   r   r   )r   r;   )r   rE   rF   rW   r   )r   rH   s     r)   &test_single_column_not_present_in_axisz?TestDataFrameMissingData.test_single_column_not_present_in_axis   s    YYY'(( ]87333 	* 	*IISqI)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AAAc                 $   t          ddt          j        gt          d          dt          j        dgd          }t          dgdgd	gd          }|                    t          j        d
dg                    }t          j        ||           d S )Nr9   r   ro   r8   r	   r   g      ?rx   r   rN   r~   r/   )r   r   r   rC   r   arrayr   rB   r   s       r)   test_subset_is_nparrayz/TestDataFrameMissingData.test_subset_is_nparray   s    aBF^$u++QPQNSSTTC5uC5AABB"(C:"6"677
fh/////r+   c                     t          ddgddggt          j        dd                    }|                                }|                    |          }t          j        ||d	           d S )
Nr9   r   r<   r8   r   )rc   r:   T)check_index_type)r   rp   
RangeIndexr   r   r   rB   )r   r;   rH   r$   rl   s        r)   test_no_nans_in_framez.TestDataFrameMissingData.test_no_nans_in_frame  sk    AA'q!1D1DEEE7799%%
fhFFFFFFr+   c                     t          ddt          j        g          }d}t          j        t
          |          5  |                    dd           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    dd           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    d d            d d d            d S # 1 swxY w Y   d S )Nr9   r   zAYou cannot set both the how and thresh arguments at the same timer>   r   )r   r=   any)r   rp   NArE   rF   r]   r   )r   rH   rK   s      r)   "test_how_thresh_param_incompatiblez;TestDataFrameMissingData.test_how_thresh_param_incompatible
  s   1be}%%Q]9C000 	+ 	+II%I***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ ]9C000 	+ 	+II%I***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ ]9C000 	- 	-II$tI,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s5   AA"%A"B((B,/B,C33C7:C7valr9   g      ?c                    t          ddd|gig d          }|                    d          }t          ddd|gi          }t          j        ||           |                    dd           t          j        ||           d S )	Nrx   r9   r   )r<   r   r9   r   T)ignore_index)r   r   )r   r   r   rB   )r   r   rH   rl   r$   s        r)   test_dropna_ignore_indexz1TestDataFrameMissingData.test_dropna_ignore_index  s     aC[);;;--cAq#;/00
fh///
		tT	222
b(+++++r+   N)__name__
__module____qualname__r*   r5   rL   rT   rX   r^   rm   rv   r   r   r   r   r   r   rE   markparametrizer    r+   r)   r   r      s       $ $ $0$ $ $6? ? ?B$ $ $02 2 2= = =(0 0 0&0 0 00 0 0*0 0 0* * *0 0 0G G G- - - [UQH--, , .-, , ,r+   r   )re   rf   numpyr   rE   pandasrp   r   r   pandas._testing_testingr   r   r   r+   r)   <module>r      s                           Q, Q, Q, Q, Q, Q, Q, Q, Q, Q,r+   