
    m*i                     n    S SK rS SKrS SKJr  S SKrS SKJrJr  S SK	J
r  S rS rS rS rS rS	 rS
 rg)    N)np_version_gt2)	DataFrame
MultiIndexc                 h    U R                  5       nU R                  n[        R                  " X5        g )N)to_numpyvaluestmassert_numpy_array_equal)idxresultexps      j/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/indexes/multi/test_conversion.pytest_to_numpyr      s$    \\^F
**C,    c                 h   [         R                  " U 5      n[         R                  " S[        S9n/ SQUS S & [        R
                  " X5        [         R                  " U 5      n[         R                  " U 5      n[         R                  " X45      (       d   e[         R                  " U SS9n[         R                  " U SS9n[         R                  " X45      (       a   e[        (       d  g Sn[        R                  " [        US9   [         R                  " U SS9  S S S 5        g ! , (       d  f       g = f)	N)   dtype)fooone)r   two)barr   )bazr   )quxr   )r   r   T)copyzGStarting with NumPy 2.0, the behavior of the 'copy' keyword has changedmatchF)npasarrayemptyobjectr	   r
   may_share_memoryarrayr   assert_produces_warningFutureWarning)r   r   expectedresult_copy1result_copy2msgs         r   test_array_interfacer+      s    ZZ_FxxF+HHQK 1 ::c?L::c?L|:::: 88Cd+L88Cd+L""<>>>>> TC		#	#M	=
5! 
>	=	=s   D##
D1c            
      B   / SQn [         R                  " U 5      nUR                  SS9n[        U 5      n[        R
                  " X#5        UR                  5       nXl        [        R
                  " X#5        / SQn [         R                  " U SS/S9nUR                  SS9n[        U 5      nSS/Ul        [        R
                  " X#5        UR                  5       nXl        [        R
                  " X#5        [         R                  " U 5      nUR                  SSS/S9n[        U 5      nSS/Ul        [        R
                  " X#5        UR                  SS/S9nXl        SS/Ul        [        R
                  " X#5        S	n[        R                  " [        US
9   UR                  SS9  S S S 5        Sn[        R                  " [        US
9   UR                  S/S9  S S S 5        [         R                  " [        S5      [        R                  " SSS9/5      nUR                  SS9n[        [         R"                  " [         R$                  " SSS9S5      [         R&                  " [        R                  " SSS9S5      S.5      n[        R
                  " X#5        UR                  5       nXl        [        R
                  " X#5        UR                  SSS/S9n[        [         R"                  " [         R$                  " SSS9S5      [         R&                  " [        R                  " SSS9S5      S.5      n[        R
                  " X#5        UR                  SS/S9nXl        [        R
                  " X#5        g ! , (       d  f       GN= f! , (       d  f       GN= f)N))   r   )r-   r   )   r   )r.   r   Findexfirstsecondnames)r0   name)r5   z1'name' must be a list / sequence of column names.r   z<'name' should have same length as number of levels on index.   20130101   )periodsint64r   )r   r-   )r1   r2   )r   from_tuplesto_framer   r	   assert_frame_equalr0   columnspytestraises	TypeError
ValueErrorfrom_productrangepd
date_ranger   repeatarangetile)tuplesr0   r   r'   r*   s        r   test_to_framerK   7   s   =F""6*E^^%^(F H&+^^FN&+=F""6'81DEE^^%^(F H*H&+^^FN&+ ""6*E^^%w.A^BF H*H&+^^'8!4^5FN*H&+
=C	y	,G$ 
- IC	z	-WI& 
. ##U1Xr}}ZQR/S$TUE^^%^(Fyy1G4a8wwr}}Z;Q?	
H &+^^FN&+ ^^%w.A^BFYYryy':A>ggbmmJBAF	
H &+^^'8!4^5FN&+E 
-	, 
.	-s   M=N=
N
Nc            	      &   [         R                  " [        R                  " SSSS9/ SQ[        R                  " / SQSS9/ S	Q// S
QS9n [        U R                  5       VVs0 s H  u  pX R                  U   R                  _M      nnn[        [        R                  " SSSS9/ SQ[        R                  " / SQSS9/ S	QS
.5      nU R                  SS9nUR                  R                  5       n[        R                  " XT5        X6:X  d   eg s  snnf )N19910905r   z
US/Eastern)r9   tz)r-   r-   r-   r.   r.   r.   )arO   brP   crQ   T)ordered)xrS   yzrS   rT   )datesrO   rP   rQ   r3   Fr/   )r   from_arraysrE   rF   Categorical	enumerater4   levelsr   r   r<   dtypesto_dictr	   r=   )miir5   original_dtypesexpected_dfdf	df_dtypess          r   test_to_frame_dtype_fidelityrc      s    			MM*aLANN94H*		
 '
B @I?RS?RGAtYYq\///?ROS]]:q\J# >M/		
K 
5	!B		!!#I"*''' Ts   !%Dc                      / SQn [         R                  " / SQ/ SQ/ SQ/U S9nUR                  5       R                  R	                  5       nX :X  d   eg )N)rU   r   rO   )rO   rP   rQ   )rS   rT   rU   )qwer3   )r   rW   r<   r>   tolist)r'   r]   r   s      r   $test_to_frame_resulting_column_orderri      sK    H				/?;8
B [[]""))+Fr   c                  8   SS/n SS/n[         R                  " XS9n[        R                  " [        SS9   UR                  5         S S S 5        UR                  SS9n[        XUS	9n[        R                  " X45        S S
/n[         R                  " XS9n[        R                  " [        SS9   UR                  5         S S S 5        UR                  SS9n[        XS
S
/S	9n[        R                  " X45        g ! , (       d  f       N= f! , (       d  f       NQ= f)N)r-   r.   )r8      rO   r3   z%Cannot create duplicate column labelsr   T)allow_duplicates)r0   r>   r   )	r   r;   r?   r@   rB   r<   r   r	   r=   )datar4   r0   r   r'   s        r   test_to_frame_duplicate_labelsrn      s    FD#JE""45E	z)P	Q 
R ^^T^2FE:H&+1IE""45E	z)P	Q 
R ^^T^2FQF;H&+ 
R	Q 
R	Qs   C:/D:
D
Dc                 z    [         R                  " SSS9nU R                  5       n[        R                  " X!5        g )Nr   F)tupleize_cols)rE   Indexto_flat_indexr	   assert_index_equal)r   r'   r   s      r   test_to_flat_indexrt      s8    xx	
 
H  F&+r   )numpyr   r?   pandas.compat.numpyr   pandasrE   r   r   pandas._testing_testingr	   r   r+   rK   rc   ri   rn   rt    r   r   <module>r{      sA      .  - "FF,R(8,,,r   