
    bMh                     p    d dl Zd dlZd dlm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d
 ZdS )    N)np_version_gt2)	DataFrame
MultiIndexc                 f    |                                  }| j        }t          j        ||           d S )N)to_numpyvaluestmassert_numpy_array_equal)idxresultexps      j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/multi/test_conversion.pytest_to_numpyr      s/    \\^^F
*C,,,,,    c                 N   t          j        |           }t          j        dt                    }g d|d d <   t	          j        ||           t          j        |           }t          j        |           }t          j        ||          sJ t          j        | d          }t          j        | d          }t          j        ||          rJ t          sd S d}t	          j	        t          |          5  t          j        | d           d d d            d S # 1 swxY w Y   d S )	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+      sm   Z__FxF+++H  HQQQK 111 :c??L:c??L|\::::: 8Cd+++L8Cd+++L"<>>>>>  TC		#M	=	=	= " "
5!!!!" " " " " " " " " " " " " " " " " "s   6DD!Dc            	         g d} t          j        |           }|                    d          }t          |           }t	          j        ||           |                                }||_        t	          j        ||           g d} t          j        | ddg          }|                    d          }t          |           }ddg|_        t	          j        ||           |                                }||_        t	          j        ||           t          j        |           }|                    dddg          }t          |           }ddg|_        t	          j        ||           |                    ddg          }||_        ddg|_        t	          j        ||           d	}t          j	        t          |
          5  |                    d           d d d            n# 1 swxY w Y   d}t          j	        t          |
          5  |                    dg           d d d            n# 1 swxY w Y   t          j        t          d          t          j        dd          g          }|                    d          }t          t!          j        t!          j        dd          d          t!          j        t          j        dd          d          d          }t	          j        ||           |                                }||_        t	          j        ||           |                    dddg          }t          t!          j        t!          j        dd          d          t!          j        t          j        dd          d          d          }t	          j        ||           |                    ddg          }||_        t	          j        ||           d S )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HN&(+++===F"6'81DEEEE^^%^((F  H*H&(+++^^FHN&(+++ "6**E^^%w.A^BBF  H*H&(+++^^'8!4^55FHN*H&(+++
=C	y	,	,	, % %G$$$% % % % % % % % % % % % % % % IC	z	-	-	- ' 'WI&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' #U1XXr}ZQR/S/S/S$TUUE^^%^((Fy1G444a88wr}Z;;;Q??	
 	
 H &(+++^^FHN&(+++ ^^%w.A^BBFYry':::A>>gbmJBBBAFF	
 	
 H &(+++^^'8!4^55FHN&(+++++s$   G))G-0G-H55H9<H9c                     t          j        t          j        ddd          g dt          j        g dd          g d	gg d
          fdt          j                  D             } t          t          j        ddd          g dt          j        g dd          g d	d
          }                    d          }|j	        
                                }t          j        ||           | |k    sJ d S )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   c                 <    i | ]\  }}|j         |         j        S  )levelsr   ).0ir5   mis      r   
<dictcomp>z0test_to_frame_dtype_fidelity.<locals>.<dictcomp>   s(    SSSGAttRYq\/SSSr   Fr/   )r   from_arraysrE   rF   Categorical	enumerater4   r   r<   dtypesto_dictr	   r=   )original_dtypesexpected_dfdf	df_dtypesr\   s       @r   test_to_frame_dtype_fidelityrg      s9   		M*aLAAAN9994HHH***		
 '&&
 
 
B TSSSy?R?RSSSO]:q\JJJ### > > >MMM///		
 	
 K 
5	!	!B	!!##I"k***i''''''r   c                      g d} t          j        g dg dg dg|           }|                                j                                        }|| k    sJ d S )N)rU   r   rO   )rO   rP   rQ   )rS   rT   rU   )qwer3   )r   r^   r<   r>   tolist)r'   r\   r   s      r   $test_to_frame_resulting_column_orderrm      so    }}H			///???;8
 
 
B [[]]"))++FXr   c                     ddg} ddg}t          j        | |          }t          j        t          d          5  |                                 d d d            n# 1 swxY w Y   |                    d          }t          | ||	          }t          j        ||           d d
g}t          j        | |          }t          j        t          d          5  |                                 d d d            n# 1 swxY w Y   |                    d          }t          | |d
d
g	          }t          j        ||           d S )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_labelsrr      s   FD#JE"4u555E	z)P	Q	Q	Q                 ^^T^22FUE:::H&(+++1IE"4u555E	z)P	Q	Q	Q                 ^^T^22FUQF;;;H&(+++++s#   AA"AC99C= C=c                     t          j        dd          }|                                 }t          j        ||           d S )Nr   F)tupleize_cols)rE   Indexto_flat_indexr	   assert_index_equal)r   r'   r   s      r   test_to_flat_indexrx      sN    x	
 
 
 
H   F&(+++++r   )numpyr   r?   pandas.compat.numpyr   pandasrE   r   r   pandas._testing_testingr	   r   r+   rK   rg   rm   rr   rx   rX   r   r   <module>r~      s         . . . . . .                 - - - "  "  "FF, F, F,R( ( (8  , , ,,, , , , ,r   