
    i3                        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	m
Z
mZmZmZmZmZ d dlmZ d dlmZ ej*                  j-                  dddg      d        Zd Zej*                  j-                  dddg      ej*                  j-                  d	d ej2                  d d
d      g      ej*                  j-                  d ej4                  g dd       ej4                  g dd      g      d                      Zej*                  j-                  dg d      d        Zej*                  j-                  d	 e	ddg       e ed       ed      g       e e
d       e
d      g       e ed       ed      g      g      d        Zej*                  j-                  dg d      d        Zd Zej*                  j-                  dddg      ej*                  j-                  d dd!gg      d"               Z ej*                  j-                  dg d#      ej*                  j-                  d$dg d%g      ej*                  j-                  d dd!d&gg d'g      d(                      Z!ej*                  j-                  dddg      d)        Z"ej*                  j-                  d*ddgdfddgdf ejF                  d!d&gd+ e       sej*                  jI                  d,-      ng .      d!d&ge%f ed/d01       ed2d01      gd3fgg d45      d6        Z&d7 Z'd8 Z(ej*                  j-                  d$dg d%g      d9        Z)ej*                  j-                  dg d:      d;        Z*ej*                  j-                  d*ddgdf ed/d01       ed2d01      gd3fgd<d=g5      ej*                  j-                  dg d:      d>               Z+d? Z,y)@    N)using_string_dtype)		DataFrameDatetimeIndexIndexPeriodPeriodIndexSeries	TimedeltaTimedeltaIndex	Timestamp)	get_arraydtypeint64c                 p   t        g dd      }t        ||       }t        j                  t        |      t        |            sJ |j                  j
                  d   j                  j                         sJ d|j                  d<   |j                  d   dk(  sJ t        j                  t        |      t        |            rJ t        ||       }d|j                  d<   |j                  d   dk(  sJ t        || d      }t        j                  t        |      t        |            sJ |j                  j
                  d   j                  j                         sJ t        || d	      }t        j                  t        |      t        |            rJ |j                  j                  d      sJ y )
N         namer   r   r   r   Fr   copyT)
r	   npshares_memoryr   _mgrblocksrefshas_referenceiloc_has_no_reference)r   serresults      e/app/cer_product_mecsu/.venv/lib/python3.12/site-packages/pandas/tests/copy_view/test_constructors.pytest_series_from_seriesr%      sz    
(C Cu%F IcNIf,=>>>;;a %%33555 FKKN88A;!	#	&0ABBB Cu%F CHHQK;;q>Q Cu51FIcNIf,=>>>;;a %%33555 Cu40F	#	&0ABBB88%%a(((    c                  B   t        g dd      } | j                  | j                  j                         t        | j                        | j                  j	                  d      fD ]  }t        | |      }t        j                  | j                  |j                        sJ d|j                  d<   | j                  d   dk(  sJ t        | |d	      }t        j                  | j                  |j                        rJ |j                  j                  d   j                  j                         sJ  t        | g d
      }t        j                  | j                  |j                        rJ |j                  j                  d   j                  j                         rJ y )Nr   r   r   idx)indexr   r   T)r)   r   )r   r   r   r   )r	   r)   r   listrenamer   r   valuesr    r   r   r   r   )r"   r)   r#   s      r$   $test_series_from_series_with_reindexr-   ?   sO    
(C
 					SYY			 > 5)

FMM:::Axx{a 5t4##CJJ>>>;;%%a(--;;===>$ C|,F

FMM:::{{!!!$))779999r&   r(   r   r   )startstopsteparrr   r   Int64c                 d   t        |||       }|j                         }t        |d|      }t        j                  t        |      |      rJ d|d<   t        j                  ||       t        ||| d      }t        j                  t        |      |      sJ d|d<   |j                  d   dk(  sJ y )N)r   r)   _datad   r   F)r   r)   r   2   )	r	   r   getattrr   r   r   tmassert_series_equalr    )r(   r   r1   r"   ser_origdatas         r$   test_series_from_arrayr<   ]   s     E
-CxxzH3%D	#555CF3) E5
9CIcND111CF88A;"r&   r   )TFNc                     t        j                  g dd      }t        |d|       }t        j                  t	        |      |      rJ y )Nr   r   r   int32r   )r   arrayr	   r   r   )r   r1   r"   s      r$   &test_series_from_array_different_dtyper@   s   s=    
((9G
,C
G$
/C	#4444r&   r   
2019-12-31
2020-12-31z1 daysz2 daysc                    t        |       }| j                  d      }t        j                  t	        |      t	        |             sJ |j
                  j                  d      rJ |j                  d   |j                  d<   t        j                  | |       t        | d      }t        j                  t	        |      t	        |             sJ |j
                  j                  d      rJ |j                  d   |j                  d<   t        j                  | |       t        | d      }t        j                  t	        |      t	        |             rJ |j
                  j                  d      sJ y )NTdeepr   r   Fr   )
r	   r   r   r   r   r   r!   r    r8   assert_index_equal)r(   r"   expecteds      r$   test_series_from_indexrI   z   s%    +CxxTx"HIcNIcN;;;xx))!,,,((1+CHHQK#x( 5
!CIcNIcN;;;xx))!,,,((1+CHHQK#x( 4
 C	#	#???88%%a(((r&   c                     t        g dd|       }t        |d      }t        j                  t	        |      t	        |            rJ |j
                  j                  d      sJ y )Nr   r   r   r>   r   r   )r   r	   r   r   r   r   r!   )r   r(   r"   s      r$   'test_series_from_index_different_dtypesrK      sR    
	t
4C
G
$C	#	#???88%%a(((r&   c                  B   t        g dd      } d}t        j                  t        |      5  t        | j                  d      }d d d        t        j                  t        |       t                    rJ |j                  j                  d      sJ y # 1 sw Y   QxY w)Nr   r   r   z&Passing a SingleBlockManager to Series)matchr>   r   )	r	   r8   assert_produces_warningDeprecationWarningr   r   r   r   r!   )r"   msgser2s      r$   .test_series_from_block_manager_different_dtyperR      s    
'
*C
2C		#	#$6c	B /chhg./	#	$@@@99&&q)))/ /s   BBuse_mgrTFcolumnsac                    t        dg di      }|j                         }|r|j                  }t        }n|}d }d}t	        j
                  ||d      5  t        |      }d d d        t        j                  t        |d      t        d            sJ d|j                  d<   t        j                  t        |d      t        |d            rJ t	        j                  ||       y # 1 sw Y   xY w)NrU   r   z#Passing a BlockManager to DataFrameF)rM   check_stacklevelr5   r   )r   r   r   rO   r8   rN   r   r   r   r    assert_frame_equal)rT   rS   dfdf_origr;   warnrP   new_dfs           r$   $test_dataframe_constructor_mgr_or_dfr]      s     
C#	$BggiGww!
/C		#	#De	L !4! Ib#.	&#0FGGGFKKN	"c 2Ifc4JKKK"g&! !s   C%%C.)Nr   r2   r)   )r   r   r   b)rU   r^   cc                    t        g d      }t        g d      }|j                         }t        g dg dd|| |      }t        ||d|| |d      }t        j                  t        |d      t        |            sJ d|j                  d	<   t        j                  t        |d      t        |            rJ t        j                  ||       t        g d      }t        g d      }t        ||d|| |d      }d|j                  d
<   t        j                  t        |d      t        |            rJ t        j                  ||       y )Nr            rU   r^   )r)   rT   r   F)r)   rT   r   r   rU   
   r   r   r   )
r	   r   r   r   r   r   r    r8   r9   rX   )rT   r)   r   s1s2s1_origrH   r#   s           r$   "test_dataframe_from_dict_of_seriesrk      s+    
		B			BggiGi(weH r%EF
 Ifc2IbMBBB FKK	&# 6	"FFF2w' 
		B			Br%EF BGGAJ	&# 6	"FFF&(+r&   c                     t        g d      }t        g d      }t        ||dg d| d      }t        |d      }t        j                  |t        |            rJ d|j
                  d<   t        |d      }t        j                  ||      sJ y )	Nr   ra   re   Fr)   r   r   rU   r5   rg   r	   r   r   r   r   r    )r   rh   ri   rY   
arr_before	arr_afters         r$   /test_dataframe_from_dict_of_series_with_reindexrq      s     
		B			B	"%Ye%	PB 2s#J
IbM:::BGGDM"c"IJ	222r&   zdata, dtypestrz;TODO bug with infer_string=False and specifying dtype='str')reason)marks2020UTC)tz2021zdatetime64[ns, UTC])intint-earr   objectdatetime64tz)idsc                 v    || |      }|j                  d      }t        |      }t        j                  t	        |      t	        |d            sJ |j
                  j                  d      rJ | d   |j                  d<   t        j                  ||       t        ||      }t        j                  t	        |      t	        |d            sJ |j
                  j                  d      rJ | d   |j                  d<   t        j                  ||       t        |d      }|j                  dk(  r|j                  j                  d	k(  sHt        j                  t	        |      t	        |d            rJ |j
                  j                  d      sJ | d   |j                  d<   t        j                  ||       y )
Nr   TrD   r   rg   rF   rr   pyarrow)r   r   r8   r   r   r   r!   r    assert_equalr   storage)r;   r   index_or_seriesobjobj_origrY   s         r$   #test_dataframe_from_series_or_indexr      sl   2 $e
,CxxTx"H 
3BIcNIb!,<===ww((+++HBGGDMOOC" 
3e	$BIcNIb!,<===ww((+++HBGGDMOOC" 
3T	"BII399#4#4	#A##IcNIb!4DEEEww((+++HBGGDMOOC"r&   c                      | ddgd      }t        |d      }t        j                  t        |      t        |d            rJ |j                  j                  d      sJ y )Nr   r   r   r   r>   r   )r   r   r   r   r   r!   )r   r   rY   s      r$   3test_dataframe_from_series_or_index_different_dtyper   .  sW    
1a&
0C	3g	&B	#	"a0@AAA77$$Q'''r&   c                  ^   t        t        d      t        d      gt              } t        |       }|j                  j
                  d   t        j                  t              k(  sJ t        j                  t        |       t        |d            sJ |j                  j                  d      rJ y )NrA   rB   r   r   )r	   r   r{   r   dtypesr    r   r   r   r   r   r!   )r"   rY   s     r$   .test_dataframe_from_series_dont_infer_datetimer   5  s    
)L)9\+BC6
RC	3B99>>! 0000IcNIb!,<===ww((++++r&   c                    t        g d      }t        g d      }t        ||d| dd      }t        |d      }t        j                  |t        |            rJ d|j
                  d	<   t        |d      }t        j                  ||      sJ y )
N)g      ?g       @g      @ra   re   r   Frm   rU   r5   rg   rn   )r)   rh   ri   rY   ro   rp   s         r$   -test_dataframe_from_dict_of_series_with_dtyper   =  s    
 
	 B			B	"%U'	NB 2s#J
IbM:::BGGDM"c"IJ	222r&   )FNTc                     t        j                  ddgddgg      }t        ||       }| dus| du r#t        j                  t	        |d      |      rJ y t        j                  t	        |d      |      sJ y )	Nr   r   r   rb   rF   FTr   )r   r?   r   r   r   )r   r1   rY   s      r$   test_dataframe_from_numpy_arrayr   N  st    
((QFQF#
$C	3T	"B5DDL##Ib!$4c::::	"a 0#666r&   rz   r|   c                    t        j                  ||      }t        ||       }|j                  dk(  r|j                  }| | du r#t        j                  t        |d      |      rJ y t        j                  t        |d      |      sJ y )Nr   rF   r2   Tr   )pdr?   r   r   r4   r8   r   r   )r   r;   r   r1   rY   s        r$   #test_dataframe_from_extension_arrayr   Y  s     ((4u
%C	3T	"B
yyG ii|tt|##Ib!$4c::::	"a 0#666r&   c                  <   t        g d      } | j                  d      }t        d| id      }t        j                  t        |d      | j                        sJ |j                  j                  d      rJ d|j                  d	<   t        j                  | |       y )
Nr   TrD   rU   FrF   r   r5   rg   )r   r   r   r   r   r   _valuesr   r!   r    r8   rG   )r(   rH   rY   s      r$   test_frame_from_dict_of_indexr   v  s    
	
CxxTx"H	C:E	*BIb#.<<<ww((+++BGGDM#x(r&   )-numpyr   pytestpandas._configr   pandasr   r   r   r   r   r   r	   r
   r   r   pandas._testing_testingr8   pandas.tests.copy_view.utilr   markparametrizer%   r-   
RangeIndexr?   r<   r@   rI   rK   rR   r]   rk   rq   paramxfailr{   r   r   r   r   r   r   r    r&   r$   <module>r      s/     - 
 
 
  1 4/2") 3")J:< 4/2}r}}111'M NO	HBHHYg.'0RS P 3
" !455 65 	q!fy.	,0GHIVL)6,+?@A	(+Yx-@AB	))* !45) 6)* T5M2TC5M2' 3 3'* ":;4"34TC:$GH, I 5 <,D 4/23 33" 
Q
Q#J &' ++##T $  	
 sV v%()Fu*EF!	
( 	;-  0#10#>(, 4"343 53  !457 67  Q v%()Fu*EF!	
	 
>"   !457 67)r&   