
    Owg]                     \    d dl Zd dlZd dlZd dlmZmZ d dlmZ	 d Z
d Zd Zd Zd Zd Zy)	    N)	DataFrame
MultiIndexc                 h    | j                         }| j                  }t        j                  ||       y )N)to_numpyvaluestmassert_numpy_array_equal)idxresultexps      a/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/multi/test_conversion.pytest_to_numpyr      s&    \\^F
**C,    c            	         g d} t        j                  |       }|j                  d      }t        |       }t	        j
                  ||       |j                         }||_        t	        j
                  ||       g d} t        j                  | ddg      }|j                  d      }t        |       }ddg|_        t	        j
                  ||       |j                         }||_        t	        j
                  ||       t        j                  |       }|j                  dddg      }t        |       }ddg|_        t	        j
                  ||       |j                  ddg      }||_        ddg|_        t	        j
                  ||       d	}t        j                  t        |
      5  |j                  d       d d d        d}t        j                  t        |
      5  |j                  dg       d d d        t        j                  t        d      t        j                  dd      g      }|j                  d      }t        t!        j"                  t!        j$                  dd      d      t!        j&                  t        j                  dd      d      d      }t	        j
                  ||       |j                         }||_        t	        j
                  ||       |j                  dddg      }t        t!        j"                  t!        j$                  dd      d      t!        j&                  t        j                  dd      d      d      }t	        j
                  ||       |j                  ddg      }||_        t	        j
                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w)N))   one)r   two)   r   )r   r   Findexfirstsecondnames)r   name)r   z1'name' must be a list / sequence of column names.matchz<'name' should have same length as number of levels on index.   20130101   )periodsint64)dtype)r   r   )r   r   )r   from_tuplesto_framer   r   assert_frame_equalr   columnspytestraises	TypeError
ValueErrorfrom_productrangepd
date_rangenprepeatarangetile)tuplesr   r   expectedmsgs        r   test_to_framer7      s   =F""6*E^^%^(F H&(+^^FHN&(+=F""6'81DEE^^%^(F H*H&(+^^FHN&(+ ""6*E^^%w.A^BF H*H&(+^^'8!4^5FHN*H&(+
=C	y	, %G$% IC	z	- 'WI&' ##U1Xr}}ZQR/S$TUE^^%^(Fyy1G4a8wwr}}Z;Q?	
H &(+^^FHN&(+ ^^%w.A^BFYYryy':A>ggbmmJBAF	
H &(+^^'8!4^5FHN&(+E% %' 's   +N&#N3&N03N=c                  >   t        j                  t        j                  ddd      g dt        j                  g dd      g d	gg d
      } t        | j                        D ci c]  \  }}|| j                  |   j                  ! }}}t        t        j                  ddd      g dt        j                  g dd      g d	d
      }| j                  d      }|j                  j                         }t        j                  ||       ||k(  sJ y c c}}w )N19910905   z
US/Eastern)r!   tz)r   r   r   r   r   r   )ar<   br=   cr>   T)ordered)xr@   yzr@   rA   )datesr<   r=   r>   r   Fr   )r   from_arraysr.   r/   Categorical	enumerater   levelsr#   r   r%   dtypesto_dictr   r&   )miir   original_dtypesexpected_dfdf	df_dtypess          r   test_to_frame_dtype_fidelityrP   [   s    			MM*aLANN94H*		
 '
B @I?RSGAttRYYq\///SOS]]:q\J# >M/		
K 
5	!B		!!#I"k*i''' Ts   '$Dc                      g d} t        j                  g dg dg dg|       }|j                         j                  j	                         }|| k(  sJ y )N)rB   r   r<   )r<   r=   r>   )r@   rA   rB   )qwer   )r   rD   r%   r'   tolist)r5   rJ   r   s      r   $test_to_frame_resulting_column_orderrV   w   sM    H				/?;8
B [[]""))+FXr   c                  T   ddg} ddg}t        j                  | |      }t        j                  t        d      5  |j                          d d d        |j                  d      }t        | ||	      }t        j                  ||       d d
g}t        j                  | |      }t        j                  t        d      5  |j                          d d d        |j                  d      }t        | |d
d
g	      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   NxY w)N)r   r   )r       r<   r   z%Cannot create duplicate column labelsr   T)allow_duplicates)r   r'   r   )	r   r$   r(   r)   r+   r%   r   r   r&   )datar   r   r   r5   s        r   test_to_frame_duplicate_labelsr[      s   FD#JE""4u5E	z)P	Q  ^^T^2FUE:H&(+1IE""4u5E	z)P	Q  ^^T^2FUQF;H&(+  s   D DDD'c                 ~    t        j                  dd      }| j                         }t        j                  ||       y )N))foor   )r]   r   )barr   )bazr   )quxr   )r`   r   F)tupleize_cols)r.   Indexto_flat_indexr   assert_index_equal)r
   r5   r   s      r   test_to_flat_indexre      s:    xx	
 
H  F&(+r   )numpyr0   r(   pandasr.   r   r   pandas._testing_testingr   r   r7   rP   rV   r[   re    r   r   <module>rk      s8       -F,R(8,,,r   