
    bMh4                        d dl Zd dlZd dlmZmZmZmZ d dlm	Z
 ej        d             Zej        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d Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%ej&        '                    d ej(        d edg d i          d!"           ej(        d# edg d$i          d%"           ej(        d& edg d'i          d("           ej(        d  edg d)i          d*"           ej(        d+ edg d,i          d-"           ej(        d. edg d/i          d0"          g          d1             Z)d2 Z*d3 Z+ej&        '                    d ej(        d4 eg d5g d6d7          d!"           ej(        d  eg d)g d8d7          d*"           ej(        d+ eg d,g d9d7          d:"           ej(        d#d;d< eg d=g d>d7          d?"           ej(        dd+d< eg d,g d@d7          dA"           ej(        d.d&d+gd< edBdCd&d+ggg dDd7          dE"          g          dF             Z,dG Z-dH Z.dI Z/dS )J    N)	DataFrameSeriesfrom_dummiesget_dummiesc                  @    t          g dg dg dg dg dd          S )N   r   r	   r   r	   r   r	   r   r   r   r   r	   col1_acol1_bcol2_acol2_bcol2_cr        f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/reshape/test_from_dummies.pydummies_basicr      A    iiiiiiiiii	
 	
  r   c                  @    t          g dg dg dg dg dd          S )Nr   r
   r   r   r   r   r   r   r   r   r   dummies_with_unassignedr      r   r   c                      g d} t          j        t          d          5  t          |            d d d            d S # 1 swxY w Y   d S )Nr
   zBExpected 'data' to be a 'DataFrame'; Received 'data' of type: listmatchpytestraises	TypeErrorr   dummiess    r   test_error_wrong_data_typer%   '   s    iiG	S
 
 
   	W	                 s   =AAc                      t          g dg dd          } t          j        t          d          5  t	          |            d d d            d S # 1 swxY w Y   d S )Nr   r
   abHDummy DataFrame contains unassigned value\(s\); First instance in row: 2r   r   r    r!   
ValueErrorr   r#   s    r   (test_error_no_prefix_contains_unassignedr-   0       iiiiii8899G	(
 
 
   	W                    AAAc                      t          g dg dd          } t          j        t          d          5  t	          | ddg           d d d            d S # 1 swxY w Y   d S )	Nr   r   r	   r	   r'   rExpected 'default_category' to be of type 'None', 'Hashable', or 'dict'; Received 'default_category' of type: listr   cddefault_categoryr   r    r!   r"   r   r#   s    r   0test_error_no_prefix_wrong_default_category_typer8   <   s    iiiiii8899G	9
 
 
 ; ; 	WSz::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s   AAAc                      t          g dg dd          } t          j        t          d          5  t	          |            d d d            d S # 1 swxY w Y   d S )Nr   r1   r'   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 2r   r+   r#   s    r   %test_error_no_prefix_multi_assignmentr:   H   r.   r/   c                      t          g dddt          j        gd          } t          j        t
          d          5  t          |            d d d            d S # 1 swxY w Y   d S )Nr   r   r	   r'   z0Dummy DataFrame contains NA value in column: 'b'r   )r   npnanr    r!   r,   r   r#   s    r   !test_error_no_prefix_contains_nanr>   T   s    iiiq!RVn==>>G	M
 
 
   	W                 s   AA!Ac                      t          g dg dg dd          } t          j        t          d          5  t	          |            d d d            d S # 1 swxY w Y   d S )N)r	         r	   )r   r	   r      )c1c2c3c4r(   r)   r3   (Passed DataFrame contains non-dummy datar   r7   r#   s    r   test_error_contains_non_dummiesrI   \   s    ll4L4L4LMM G 
9
 
 
   	W	                 s   AAAc                      t          g dg dg dg dd          } t          j        t          d          5  t	          | d           d d d            d S # 1 swxY w Y   d S )Nr   r
   )r   r   zcol2-azcol2-bz*Separator not specified for column: col2-ar   _sepr+   r#   s    r   *test_error_with_prefix_multiple_seperatorsrN   g   s    iiiiiiii		
 	
 G 
<
 
 
 ' ' 	W#&&&&	' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   AAAc                     t          j        t          d          5  t          | dg           d d d            d S # 1 swxY w Y   d S )NzJExpected 'sep' to be of type 'str' or 'None'; Received 'sep' of type: listr   rK   rL   r   r   s    r   %test_error_with_prefix_sep_wrong_typerQ   w   s    	,
 
 
 / / 	]..../ / / / / / / / / / / / / / / / / /s   <A A c                     t          j        t          d          5  t          | d           d d d            d S # 1 swxY w Y   d S )Nr*   r   rK   rL   r    r!   r,   r   r   s    r   *test_error_with_prefix_contains_unassignedrU      s    	(
 
 
 7 7 	,#66667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s   ;??c                     t          j        t          d          5  t          | dddg           d d d            d S # 1 swxY w Y   d S )Nr2   r   rK   xyrM   r6   r   rT   s    r   2test_error_with_prefix_default_category_wrong_typerZ      s    	9
 
 
 T T 	,#c
SSSST T T T T T T T T T T T T T T T T T   >AAc                     t          j        t          d          5  t          | dddi           d d d            d S # 1 swxY w Y   d S )Nz^Length of 'default_category' \(1\) did not match the length of the columns being encoded \(2\)r   rK   col1rW   rY   rS   rT   s    r   9test_error_with_prefix_default_category_dict_not_completer^      s     
=
 
 
 W W 	,#QTVVVVW W W W W W W W W W W W W W W W W Wr[   c                     | d                              d          | d<   t          j        | j        d<   t	          j        t          d          5  t          | d           d d d            d S # 1 swxY w Y   d S )Nr   float64rB   r   z5Dummy DataFrame contains NA value in column: 'col2_c'r   rK   rL   )astyper<   r=   locr    r!   r,   r   rP   s    r   #test_error_with_prefix_contains_nanrd      s    +H5<<YGGM(%'VMk"	R
 
 
 - - 	],,,,- - - - - - - - - - - - - - - - - -s   A--A14A1c                     | d                              t                    | d<   d| j        d<   t          j        t
          d          5  t          | d           d d d            d S # 1 swxY w Y   d S )Nr   strra   rH   r   rK   rL   )rb   objectrc   r    r!   r"   r   rP   s    r   +test_error_with_prefix_contains_non_dummiesrh      s    +H5<<VDDM(%*Mk"	y(S	T	T	T - -],,,,- - - - - - - - - - - - - - - - - -s   	A((A,/A,c                      t          g dg dg dg dg dd          } t          j        t          d          5  t	          | d	
           d d d            d S # 1 swxY w Y   d S )Nr   )r	   r	   r   r
   r   r   r   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 0r   rK   rL   r+   r#   s    r   (test_error_with_prefix_double_assignmentrj      s    iiiiiiiiii	
 	
 G 
(
 
 
 ' ' 	W#&&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   AA!Ac                      t          g d          } t          |           }t          |          }t          dg di          }t	          j        ||           d S )Nr(   r)   r3   r(    )r   r   r   r   tmassert_frame_equal
categoriesr$   resultexpecteds       r   "test_roundtrip_series_to_dataframert      sb    ,,,--J*%%G'""F"222344H&(+++++r   c                      t          dg di          } t          |           }t          |d          }| }t          j        ||           d S )Nrm   rl   rK   rL   r   r   r   rn   ro   rp   s       r   &test_roundtrip_single_column_dataframerw      sX    B 4 4 4566J*%%G's+++FH&(+++++r   c                      t          g dg dd          } t          |           }t          |d          }| }t          j        ||           d S N)r(   r)   r(   )r)   r(   r3   r]   col2rK   rL   rv   rp   s       r   test_roundtrip_with_prefixesr|      s\    OOO___MMNNJ*%%G's+++FH&(+++++r   c                      t          g dg dg dd          } t          dg di          }t          |           }t          j        ||           d S )Nr	   r   r   r	   r   r	   r   r   r   r   r	   r   rG   rm   rl   r   r   rn   ro   r$   rs   rr   s      r    test_no_prefix_string_cats_basicr      sd    lllLLLQQRRG"222344H'""F&(+++++r   c                      t          g dg dg dd          } t          dg di          }t          |           }t          j        ||           d S )N)TFFTFTFF)FFTFrG   rm   rl   r   r   s      r   ,test_no_prefix_string_cats_basic_bool_valuesr      sw    +++,,,,,,	
 	
 G "222344H'""F&(+++++r   c                      t          g dg dg dd          } t          dg di          }t          |           }t          j        ||           d S )Nr~   r   r   rG   rm   rl   r   r   s      r   2test_no_prefix_string_cats_basic_mixed_bool_valuesr      sn    ll!<!<!<<<<PP G "222344H'""F&(+++++r   c                      t          g dg dg dg dd          } t          dg di          }t          |           }t          j        ||           d S )Nr	   r   r   r   r   r   r   r   r   r	   )r	      rB      rm   r   r   s      r   test_no_prefix_int_cats_basicr      sn    LLlll|||MM G "mmm,--H'""F&(+++++r   c                      t          g dg dg dg dd          } t          dg di          }t          |           }t          j        ||           d S )Nr   r   r   r   )g      ?g      9@      @g\(\@rm   r   r   s      r   test_no_prefix_float_cats_basicr   	  sq    ll,,,\\\VV G "444566H'""F&(+++++r   c                      t          g dg dg dg dg dd          } t          dg did	          }t          |           }t          j        ||           d S )
N)r	   r   r   r   r   )r   r	   r   r   r   )r   r   r	   r   r   )r   r   r   r	   r   )r   r   r   r   r	   )gGz?r3   rB   FNrm   rg   dtyper   r   s      r   test_no_prefix_mixed_cats_basicr     s    !// "??!//	
 	
 G "999:(KKKH'""F&(+++++r   c                      t          g dg dg dd          } t          dg di          }t          |           }t          j        ||           d S )Nr   r
   r   r(   r)   NaNrm   r   r   s      r   :test_no_prefix_string_cats_contains_get_dummies_NaN_columnr   !  sd    iiiiii			JJKKG"///011H'""F&(+++++r   zdefault_category, expectedr3   rm   rG   zdefault_category is a str)idr	   )r(   r)   r	   zdefault_category is a int      ?)r(   r)   r   zdefault_category is a float)r(   r)   r   zdefault_category is a 0F)r(   r)   Fzdefault_category is a boolr	   rB   )r(   r)   r   zdefault_category is a tuplec                     t          g dg dd          }t          ||           }|r|d                             d          |d<   t          j        ||           d S )Nr   r
   r'   r5   rm   rf   )r   r   rb   rn   ro   )r6   rs   using_infer_stringr$   rr   s        r   +test_no_prefix_string_cats_default_categoryr   (  sq    L iiiiii8899G'4DEEEF 2|**511&(+++++r   c                 ~    t          g dg dd          }t          | d          }t          j        ||           d S ry   r   )r   rs   rr   s      r   test_with_prefix_basicr   U  sJ    ///???KKLLH-S111F&(+++++r   c            
          t          g dg dg dg dg dg dg dd          } t          g dg dd          }t          | d	
          }t          j        ||           d S )Nr   r
   r   r   )r   r   col1_NaNr   r   r   col2_NaNr   )r   r(   r3   rz   rK   rL   r   r   s      r   0test_with_prefix_contains_get_dummies_NaN_columnr   [  s    iiii!		iiiiii!			
 	

 
G "3"3"3=N=N=NOOPPH's+++F&(+++++r   rW   )r(   r)   rW   )rW   r(   r3   rz   )r   r(   r3   )Fr(   r3   zdefault_category is a Falser   )r{   r]   )r(   r)   r   )r	   r(   r3   z4default_category is a dict with int and float values)Nr(   r3   z4default_category is a dict with bool and None valuesr(   r)   )r   r(   r3   z5default_category is a dict with list and tuple valuesc                     t          | d|          }|r|                    d          }t          j        ||           d S )NrK   rY   rf   )r   rb   rn   ro   )r   r6   rs   r   rr   s        r   !test_with_prefix_default_categoryr   l  sU    L S;K  F  *??5))&(+++++r   c                     t          g dg dg dd          } | j                            d          | _        t          |           }t          dt	          t          d          d          i          }t          j        ||           d S )	Nr~   r   r   rG   string[python]rm   abcar   r   columnsrb   r   r   listrn   ro   dfrr   rs   s      r   test_ea_categoriesr     s    	LLL|||LL	M	MB""#344BJ"F"fT&\\9IJJJKLLH&(+++++r   c                     t          g dg dg dg dg dd          } | j                            d          | _        t          | d          }t          t	          t          d	          d
          t	          t          d          d
          d          }|j                            d          |_        t          j        ||           d S )Nr   r
   r   r   r   r   rK   rL   abar   bacrz   r   r   s      r   test_ea_categories_with_sepr     s    	iiiiiiiiii	
 	

 
B ""#344BJ"#&&&F4;;.>???4;;.>???	
 	
 H  '../?@@H&(+++++r   c                      t          g dg dg ddt          d                    } t          |           }t          dt          d          it          d                    }t          j        ||           d S )	Nr~   r   r   rG   abcd)indexrm   r   )r   r   r   rn   ro   r   s      r   test_maintain_original_indexr     s    	llLLLAAf
 
 
B "F"d6ll+4<<@@@H&(+++++r   )0numpyr<   r    pandasr   r   r   r   pandas._testing_testingrn   fixturer   r   r%   r-   r8   r:   r>   rI   rN   rQ   rU   rZ   r^   rd   rh   rj   rt   rw   r|   r   r   r   r   r   r   r   markparametrizeparamr   r   r   r   r   r   r   r   r   r   <module>r      s                         	 	 	 	 	 	  	 	 		; 	; 	;	 	 	    ' ' ' / / /7 7 7T T T
W 
W 
W- - -- - -' ' '(, , ,, , ,, , ,, , ,
, 
, 
,, , ,, , ,, , ,, , ,, , ,  Ir???+,,*	
 	
 	

 	Ir===)***	
 	
 	

 	Ir+++,--,	
 	
 	

 	Ir===)**(	
 	
 	

 	Ir,,,-..+	
 	
 	

 	Ir---.//,	
 	
 	
5" "F, ,G" "F,, , ,, , ,"  IHHII*	
 	
 	

 	I}}}mmmDDEE(	
 	
 	

 	I000:K:K:KLLMM,	
 	
 	

 	$$IFFGGE	
 	
 	

 	5))I000:J:J:JKKLLE	
 	
 	

 	dE]33IS4-8BTBTBTUUVVF	
 	
 	
5" "F, ,G" "F,, , ,, , ,., , , , ,r   