
    .i                     x    d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	 d dl
mZ d Zd Zd Zd Zd Zd	 Zd
 Zd Zy)    N)np_version_gt2)	DataFrame
MultiIndex
RangeIndexc                 h    | j                         }| j                  }t        j                  ||       y )N)to_numpyvaluestmassert_numpy_array_equal)idxresultexps      h/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/indexes/multi/test_conversion.pytest_to_numpyr      s&    \\^F
**C,    c                 J   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y t        j                  t        d      5  t        j                  | d       d d d        y # 1 sw Y   y xY w)	N)   dtype)fooone)r   two)barr   )bazr   )quxr   )r   r   T)copyz#Unable to avoid copy while creatingmatchF)npasarrayemptyobjectr
   r   may_share_memoryarrayr   pytestraises
ValueError)r   r   expectedresult_copy1result_copy2s        r   test_array_interfacer,      s    ZZ_FxxF+HHQK 1 ::c?L::c?L|\::: 88Cd+L88Cd+L""<>>> 
z)N	O "
5!" " "s   8DD"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))   r   )r.   r   )   r   )r/   r   Findexfirstsecondnames)r1   name)r6   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.   )r2   r3   )r   from_tuplesto_framer   r
   assert_frame_equalr1   columnsr&   r'   	TypeErrorr(   from_productrangepd
date_ranger    repeatarangetile)tuplesr1   r   r)   msgs        r   test_to_framerJ   7   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19910905r   z
US/Eastern)r:   tz)r.   r.   r.   r/   r/   r/   )arN   brO   crP   T)ordered)xrR   yzrR   rS   )datesrN   rO   rP   r4   Fr0   )r   from_arraysrC   rD   Categorical	enumerater5   levelsr   r   r=   dtypesto_dictr
   r>   )miir6   original_dtypesexpected_dfdf	df_dtypess          r   test_to_frame_dtype_fidelityrb      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)rT   r   rN   )rN   rO   rP   )rR   rS   rT   )qwer4   )r   rV   r=   r?   tolist)r)   r\   r   s      r   $test_to_frame_resulting_column_orderrh      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/   )r9      rN   r4   z%Cannot create duplicate column labelsr   T)allow_duplicates)r1   r?   r   )	r   r<   r&   r'   r(   r=   r   r
   r>   )datar5   r1   r   r)   s        r   test_to_frame_duplicate_labelsrm      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gddgg      } | j                         j                  }t	        d      }t        j                  ||d       y )Nr.   r/   rN   rO   T)exact)r   rV   r=   r?   r   r
   assert_index_equal)r\   r   r)   s      r   test_to_frame_column_rangeindexrq      sK    			!Q#s 4	5B[[]""F!}H&($7r   c                 ~    t        j                  dd      }| j                         }t        j                  ||       y )Nr   F)tupleize_cols)rC   Indexto_flat_indexr
   rp   )r   r)   r   s      r   test_to_flat_indexrv      s:    xx	
 
H  F&(+r   )numpyr    r&   pandas.compat.numpyr   pandasrC   r   r   r   pandas._testing_testingr
   r   r,   rJ   rb   rh   rm   rq   rv    r   r   <module>r}      sK      .  
 -"DF,R(8,,8,r   