
    Mh0@                         S SK J r Jr  S SKrS SKrS SKrS SKJr  S SKJ	s  J
r  S SKrS SKJrJrJrJrJrJr  S SKJr  S SKJr  \R2                  r " S S5      rS rS	 rg)
    )datetime	timedeltaN)PerformanceWarning)Categorical	DataFrameSeries	Timestamp
date_rangeoption_context)
NumpyBlockc                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS r\R&                  R)                  S5      S 5       rS rS rSrg)TestDataFrameBlockInternals"   c                 "   [        SSSS9nUS   n[        SU05      nUS   R                  R                  b   e[        R
                  UR                  S'   US   R                  R                  b   eUR                  S:X  d   eUS   U:X  d   eg )	N20130101   
US/Eastern)periodstz   B)r   r   D)r
   r   _valuesfreqpdNaTiloc)selfdtitsdfs       Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/test_block_internals.py,test_setitem_invalidates_datetime_index_freqHTestDataFrameBlockInternals.test_setitem_invalidates_datetime_index_freq#   s     Q<@VSz"#w##+++#w##+++ xx31v||    c                    Sn[         R                  " [        USS9   [        UR                  [
        S9nS S S 5        [        UR                  [
        S9n[         R                  " WU5        [         R                  " [        USS9   [        UR                  [        R                  S9nS S S 5        [        UR                  [        R                  S9n[         R                  " X45        g ! , (       d  f       N= f! , (       d  f       NX= f)Nz#Passing a BlockManager to DataFrameF)matchcheck_stackleveldtype)
tmassert_produces_warningDeprecationWarningr   _mgrint_seriesassert_frame_equalnpint32)r   float_framemsgcastedexpecteds        r"   test_cast_internals/TestDataFrameBlockInternals.test_cast_internals4   s    3''cE
 {//s;F
 [00<
fh/''cE
 {//rxx@F
 [00A
f/
 

 
s   C+#C<+
C9<
D
c                    SUS'   UR                  5       n[        UR                  R                  5      S:X  d   eUR                  5       nX2Ld   e[        R
                  " X25        SUS'   [        UR                  R                  5      S:X  d   eUR                  5       nUb   e[        UR                  R                  5      S:X  d   eg )N      @Er   g       @Fr   )_consolidatelenr.   blocksr+   r1   _consolidate_inplace)r   r4   consolidatedreconsreturn_values        r"   test_consolidate,TestDataFrameBlockInternals.test_consolidateD   s    C"//1<$$++,111 **,)))
f3C;##**+q000"779###;##**+q000r%   c                 |    [        [        S5      [        S5      5       H  n[        U5      U[        U5      '   M     g )NAZ)rangeordchr)r   r4   letters      r"   test_consolidate_inplace4TestDataFrameBlockInternals.test_consolidate_inplaceU   s-    CHc#h/F'*6{KF$ 0r%   c                    U(       aY  [         R                  " [        SS9   SUR                  S'   S S S 5        UR                  S   S:g  R	                  5       (       d   eg SUR                  S'   UR                  S   S:H  R	                  5       (       d   eSUS'   US   nSUR                  S'   UR                  S   S:H  R	                  5       (       a   eUS:H  R	                  5       (       d   eg ! , (       d  f       N= f)Nz	read-onlyr'      r;   r<         )pytestraises
ValueErrorvaluesall)r   r4   using_copy_on_writecols       r"   test_modify_values.TestDataFrameBlockInternals.test_modify_valuesZ   s    z=()""1% >&&q)Q.335555 !1""1%*//1111 C# !1  &&q)Q.335555q~~! >=s   C22
D c                     SUS'   UR                   R                  5       nSX"S:  '   SXS:  '   [        R                  " X!R                   5        g )Nr;   r<      r   )rX   copyr+   assert_almost_equal)r   r4   r7   s      r"   test_boolean_set_uncons3TestDataFrameBlockInternals.test_boolean_set_unconsn   sL    C%%**,!"A'(!O$
x););<r%   c                 	   [        SS/05      nUS   n[        [        R                  " S/[        R                  5      SS9n[
        R                  " X#5        [        SS/05      nUS   n[        [        R                  " S/[        R                  5      SS9n[
        R                  " X#5        [        S[        SSS5      S/05      nUS   n[        [        R                  " [        SSS5      S/[        R                  5      SS9n[
        R                  " X#5        [        SS S/05      nUS   n[        [        R                  " [        R                  S/[        R                  5      SS9n[
        R                  " X#5        [        SSS	/05      nUS   n[        [        R                  " SS	/[        R                  5      SS9n[
        R                  " X#5        [        SS
S/05      nUS   n[        [        R                  " S
S/[        R                  5      SS9n[
        R                  " X#5        [        SS
S/05      nUS   n[        [        R                  " S
S/[        R                  5      SS9n[
        R                  " X#5        [        SS
S/05      nUS   n[        [        R                  " S
S/[        R                  5      SS9n[
        R                  " X#5        [        SSS /05      nUS   n[        [        R                  " S[        R                  /[        R                  5      SS9n[
        R                  " X#5        [        SS
S /05      nUS   n[        [        R                  " S
[        R                  /[        R                  5      SS9n[
        R                  " X#5        [        S/ SQ05      nUS   n[        [        R                  " / SQ[        R                  5      SS9n[
        R                  " X#5        [        SSS[        SSS5      S /05      nUS   n[        [        R                  " SS[        SSS5      S /[        R                  5      SS9n[
        R                  " X#5        g )NrH   l    )namel            i  r   Tg      ?r_   y      ?       @r   g      @)       @r   TNrf   i  )r   r   r2   asarrayint64r+   assert_series_equaluint64r   object_nanfloat64
complex128)r   r!   resultr7   s       r"   test_constructor_with_convert9TestDataFrameBlockInternals.test_constructor_with_convertw   s    i[)*C"**i["((;#F
v0eW~&C"**eWbii8sC
v0htQ2D9:;CJJq!,d3RZZ@s
 	v0dAY'(C"**bffa["**=CH
v0c1X'C"**c1Xrzz:E
v0j!_-.C"**j!_bmmD3O
v0j#./0C"**j#%6FSQ
v0j$/01C"**j$%7D3O
v0c4[)*C"**c266]BJJ?cJ
v0j$/01C"**j"&&%92==IPST
v0123C"**%92::FSQ
v0c1htQ&:DABCCJJQq! 4d;RZZHs
 	v0r%   c                    [        SSS5      [        R                  [        SSS5      /[        SSS5      [        SSS5      [        SSS5      //n[        U5      nUR                  n[        SS05      n[         R                  " 5       US'   [        SSS	9US
'   US   R                  S:X  d   eUS
   R                  S:X  d   eUR                  n[        [        R                  " S5      /S-  U(       d  [        R                  " S5      OS[        R                  " S5      [        R                  " S5      /-   [        S5      / SQ-   S9n[        R                  " XV5        g )N  r   rR   r_   i  r   zdatetime64[us]r   )dayssecondsr   zM8[us]zm8[us]rm      objectstringztimedelta64[us]ABCD)foor   r   index)r   r2   rl   r   dtypesr   nowr   r*   listr+   ri   )r   float_string_frameusing_infer_stringdatar!   ro   r7   s          r"   test_construction_with_mixed8TestDataFrameBlockInternals.test_construction_with_mixed   sI   
 dAq!2668D!Q+?@dAq!8D!Q#7$19MN
 t_ +Q/0 *2:&*3A*F;'!*-33x???!+.44@@@#**XXi !A%*<"()**+ v,!AA
 	v0r%   c           	      v   [         R                  " / SQSS9n[        [        S5      S9nXS'   [        S[        R
                  " SSSS	90[        S5      S9n[        R                  " US   R                  5       U5        [        [        S
5      [        S
SS9R                  S5      S.[        S5      S9nUR                  S   S:X  d   eUR                  S   S:X  d   e[        [        S5      S9n[         R                  " S5      US'   [         R                  " / SQSS9US'   [        R                  " X#5        g )Nr   r_   r   ztimedelta64[s]r)   r   r{   rH   z00:00:01s)r   r   r   )r   zM8[s])dt1dt2r   r   
2013-01-01)r   z
2013-01-02z
2013-01-03zdatetime64[D])r2   arrayr   rJ   r   timedelta_ranger+   assert_numpy_array_equalto_numpyr	   r
   astyper}   
datetime64r1   )r   arrr!   r7   s       r"   "test_construction_with_conversions>TestDataFrameBlockInternals.test_construction_with_conversions   s    hhy(89U1X&3"$$ZEFeTUh
 	##BsG$4$4$6< ,!*a8??H (
 u%000u%000U1X&MM,/5	HH6o
5	 	b+r%   c                    S nSn[         R                  " [        US9   U" / SQ5        S S S 5        [         R                  " [        SS9   U" S5        S S S 5        [         R                  " [        SS9   U" S5        S S S 5        Sn[         R                  " [        US9   U" S	5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nv= f! , (       d  f       N]= f! , (       d  f       g = f)
Nc           	      x    [        [        R                  " [        SSS5      SS4S5      5      n[	        U/ SQU S9$ )Nrs   r   aa   	   )rH   r   C)r   columnsr*   )r   	itertoolsrepeatr   r   )r*   r   s     r"   fGTestDataFrameBlockInternals.test_constructor_compound_dtypes.<locals>.f   s8    	(((4A*>b)I1MND$uMMr%   z@compound dtypes are not implemented in the DataFrame constructorrQ   ))rH   zdatetime64[h])r   str)r   r3   zargument must berh   rm   zD^Unknown datetime string format, unable to parse: aa, at position 0$zM8[ns])rU   rV   NotImplementedError	TypeErrorrW   )r   r   r5   s      r"    test_constructor_compound_dtypes<TestDataFrameBlockInternals.test_constructor_compound_dtypes   s    	N Q]].c:DE ; ]]9,>?gJ @]]9,>?iL @ U]]:S1hK 21 ;: @???
 21s/   B3	C5	C!	C&3
C
C
C#&
C4c                 6   [        5       n[        R                  " U5      n[        R                  " X5        UR                  R
                    [        R                  " U5      n[        U5        [        R                  " U5      n[        R                  " X$5        g N)r   r+   round_trip_pickler1   r.   ndimrepr)r   r   timezone_frameempty_frame	unpickleds        r"   test_pickle'TestDataFrameBlockInternals.test_pickle  ss    k(();<	
0< 	$$ ((5	Y ((8	
n8r%   c                    [        [        R                  " / SQ5      [        R                  " / SQ5      / SQS.5      nUR                  nUR                  Ul        UR                  S5      nUR                  S5      nSUR
                  l        UR                  nUR                  Ul        UR                  S5      nUR                  S5      nSUR
                  l        UR
                  Ul        UR
                  Ul	        [        R                  " [        R                  " UR                  5      UR
                  5        [        R                  " [        R                  " UR                  5      UR
                  5        g )	N)z2012-06-21 00:002012-06-23 07:002012-06-23 16:302012-06-25 08:002012-06-26 12:00)r   r   r   r   z2012-06-27 08:00)M   A   r   r   r   )startingendingmeasurer   UTCr   r   )r   r   to_datetimer   rX   r|   tz_localize
tz_convertre   r   r+   assert_index_equalDatetimeIndex)r   r!   ser_starting
ser_endings       r"   test_consolidate_datetime647TestDataFrameBlockInternals.test_consolidate_datetime64$  s,    NN .. /'
0 {{)00#//=#..u5",YY
%,,
++L9
**51
 (
"(($$	
b..r{{;\=O=OP
b..ryy9:;K;KLr%   c                 P    UR                   (       a   eUR                   (       d   eg r   )_is_mixed_type)r   r4   r   s      r"   test_is_mixed_type.TestDataFrameBlockInternals.test_is_mixed_typeQ  s     ----!0000r%   c                    [        SS 5         [        [        R                  R	                  S5      R                  S5      SSS9n[        U5        US   R                  S5      US'   [        R                  " 5          [        R                  US	   S
'   S S S 5        [        U5        UR                  5         US	   R                  5         U(       a$  [        R                  " US	   S
   5      (       a   eO#[        R                  " US	   S
   5      (       d   eS S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nchained_assignmentr_   )rv   rv   abcd)er   gh)r|   r   r   rw   r   r   )r   r   r2   randomdefault_rngr   r   r+   raises_chained_assignment_errorrl   sumr   isna)r   rZ   warn_copy_on_writeYs       r"    test_stale_cached_series_bug_473<TestDataFrameBlockInternals.test_stale_cached_series_bug_473U  s    0$7		%%a(//7*,A
 GsV]]8,AcF335 ff#s 6GEEGcFJJL"771S6#;/////wwqvc{++++! 87 65 87s%   A/D1<D BD1 
D.	*D11
D?z.ignore:Setting a value on a view:FutureWarningc                 j   [        SS/S9n[        R                  US'   0 n[        R                  " [
        SS9   [        UR                  5       HR  u  pE[        SS5       H=  nXc;  a  SX6'   [        R                  X&'   U(       a  XBR                  XV4'   M6  XBU   U'   M?     MT     S S S 5        Sn[        UR                  [        R                  " X'   5      U/4   5      n[        UR                  [        R                  " X'   5      U/4   5      n	Xs=:X  a  S:X  d   e   eg ! , (       d  f       N= f)Nr   r   r{   F)raise_on_extra_warningsd      )r   r2   rl   r+   r,   r   	enumerater|   rJ   locr?   r   r   )
r   rZ   r!   wasColidtr[   myidfirstseconds
             r"   $test_strange_column_corruption_issue@TestDataFrameBlockInternals.test_strange_column_corruption_issuei  s	    aV$1''
 #288, c?C(&'"$&&**+rw&'3 + -
 BFF27728,tf456RVVBGGBH-v567#!######
 
s   A,D$$
D2c                 F   [        / SQ5      R                  n[        SU05      n[        S/ SQ05      n[        R                  " X#5        [        UR                  R                  S   [        5      (       d   eUR                  R                  S   R                  (       d   eg )Nr   rH   r   )
r   r   r   r+   r1   
isinstancer.   r@   r   
is_numeric)r   r   ro   r7   s       r"    test_constructor_no_pandas_array<TestDataFrameBlockInternals.test_constructor_no_pandas_array  s     Y%%C:&c9-.
f/&++,,Q/<<<<{{!!!$////r%   c                    [        / SQ/ SQS.5      n[        R                  R                  [        R
                  " / SQ[        S95      US'   [        / SQ/ SQ[        R                  R                  [        R
                  " / SQ[        S95      S.5      n[        US   R                  R                  S   5      [        :X  d   eUS   R                  R                  S   R                  (       d   e[        US   R                  R                  S   5      [        :X  d   eUS   R                  R                  S   R                  (       d   e[        R                  " X5        g )	N)r   r_   r   rv   r   )r   r   )r   r_   Nr   r)   r   )r   r   r   r   )r   r   arraysNumpyExtensionArrayr2   r   rw   typer.   r@   r   	is_objectr+   r1   )r   r!   df2s      r"   !test_add_column_with_pandas_array=TestDataFrameBlockInternals.test_add_column_with_pandas_array  s   \0DEF))//PV0WX3!)YY22HH_F;
 BsGLL''*+z999#w||""1%////CHMM((+,
:::3x}}##A&0000
b&r%    N)__name__
__module____qualname____firstlineno__r#   r8   rE   rN   r\   rb   rp   r   r   r   r   r   r   r   rU   markfilterwarningsr   r   r   __static_attributes__r   r%   r"   r   r   "   s|    "0 1"3
 (=A1F1>!,F.9"+MZ1,( [[ PQ$ R$20'r%   r   c                 6   [        S[        / SQSS905      nU (       a2  [        R                  " 5          US   R	                  SSS9  S S S 5        O5[        R
                  " [        SS	9   US   R	                  SSS9  S S S 5        [        UR                  R                  S
   R                  [        5      (       d   eU (       d3  UR                  5       R                  5       R                  5       S
:X  d   eg g ! , (       d  f       N= f! , (       d  f       N= f)Nr   )r   r_   Ncategoryr)   r   T)inplacezinplace methodrQ   r   )r   r   r+   r   fillnar,   FutureWarningr   r.   r@   rX   r   isnullr   )rZ   r!   s     r"   +test_update_inplace_sets_valid_block_valuesr    s    	CJ?@	AB //1sGNN1dN+ 21 ''=MNsGNN1dN+ O bggnnQ'..<<<<yy{ $$&!+++  21 ONs   C9*D
9
D

Dc                     [        5       n [        S/[        S9U S'   [        S/[        S9U S'   U S   S:H    X S   S:H       SU R                  S'   [        S/S/S.[        S9n[        R
                  " X5        U R                  S   S:X  d   eg )	Nr   r)   col1r   col2rH   )r   r  )r  r  )r   r   rw   atr+   r1   )r!   r7   s     r"   $test_nonconsolidated_item_cache_taker    s     
BV,BvJ6*BvJ vJ# &zQ BEE)3%!5VDH"'55s"""r%   )r   r   r   numpyr2   rU   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r	   r
   r   pandas._testing_testingr+   pandas.core.internals.blocksr   skip_array_manager_invalid_test
pytestmarkr   r  r  r   r%   r"   <module>r     sW       , ) )    3 //
|' |'~,(#r%   