
    m*id?                         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	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  \R6                  r " S S5      rS	 rS
 rg)    )datetime	timedeltaN)WARNING_CHECK_DISABLED)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       g/var/www/html/land-doc-ocr/venv/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_internals5   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,   r2   _consolidate_inplace)r   r5   consolidatedreconsreturn_values        r#   test_consolidate,TestDataFrameBlockInternals.test_consolidateE   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   r5   letters      r#   test_consolidate_inplace4TestDataFrameBlockInternals.test_consolidate_inplaceV   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   r5   using_copy_on_writecols       r#   test_modify_values.TestDataFrameBlockInternals.test_modify_values[   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   )rY   copyr,   assert_almost_equal)r   r5   r8   s      r#   test_boolean_set_uncons3TestDataFrameBlockInternals.test_boolean_set_unconso   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 )NrI   l    )namel            i  r   Tg      ?r`   y      ?       @r   g      @)       @r   TNrg   i  )r   r	   r3   asarrayint64r,   assert_series_equaluint64r   object_nanfloat64
complex128)r   r"   resultr8   s       r#   test_constructor_with_convert9TestDataFrameBlockInternals.test_constructor_with_convertx   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                    [         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![        R                  " [        R                  S
9[        R                  " S5      [        R                  " S5      /-   [        S5      / SQ-   S9n[        R                  " X45        g )Nr   r   )dayssecondsr   zM8[us]zm8[us]rn      object)na_valuezdatetime64[us]ztimedelta64[us]ABCD)foor   r   index)r   nowr   r+   dtypesr	   r3   r   StringDtyperm   listr,   rj   )r   float_string_frameusing_infer_stringrp   r8   s        r#   test_construction_with_mixed8TestDataFrameBlockInternals.test_construction_with_mixed   s    )1:&*3A*F;'!*-33x???!+.44@@@#**XXi !A% * "^^RVV4)**+ v,!AA

 	v0r&   c           	      N   [         R                  " / SQSS9n[        SU05      n[        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[         R                  " S5      n[         R                  " / SQSS9n[        XES.5      n[        R                  " X#5        g )Nr   r`   r   ztimedelta64[s]r*   rI   z00:00:01r   s)r   r   r{   r   )r   zM8[s])dt1dt2r   r   
2013-01-01)r   z
2013-01-02z
2013-01-03zdatetime64[D])r3   arrayr   r   timedelta_rangerK   r,   assert_numpy_array_equalto_numpyr
   r   astyper~   
datetime64r2   )r   arrr"   r8   r   r   s         r#   "test_construction_with_conversions>TestDataFrameBlockInternals.test_construction_with_conversions   s    hhy(89Sz""$$ZEFeTUh
 	##BsG$4$4$6< ,!*a8??H (
 u%000u%000mmL)hh6o
 s/0 	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$ )Ni  r   aa   	   )rI   r   C)data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 constructorrR   ))rI   zdatetime64[h])r   str)r   r4   zargument must beri   rn   zD^Unknown datetime string format, unable to parse: aa, at position 0$zM8[ns])rV   rW   NotImplementedError	TypeErrorrX   )r   r   r6   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_pickler2   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   rY   r|   tz_localize
tz_convertrf   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   r5   r   s      r#   test_is_mixed_type.TestDataFrameBlockInternals.test_is_mixed_typeF  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   r3   randomdefault_rngr   r   r,   raises_chained_assignment_errorrm   sumr   isna)r   r[   warn_copy_on_writeYs       r#    test_stale_cached_series_bug_473<TestDataFrameBlockInternals.test_stale_cached_series_bug_473J  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   r3   rm   r,   r-   r   	enumerater|   rK   locr@   r   r   )
r   r[   r"   wasColidtr\   myidfirstseconds
             r#   $test_strange_column_corruption_issue@TestDataFrameBlockInternals.test_strange_column_corruption_issue^  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   rI   r   )
r	   r   r   r,   r2   
isinstancer/   rA   r   
is_numeric)r   r   rp   r8   s       r#    test_constructor_no_pandas_array<TestDataFrameBlockInternals.test_constructor_no_pandas_arrayx  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NumpyExtensionArrayr3   r   rw   typer/   rA   r   	is_objectr,   r2   )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$   r9   rF   rO   r]   rc   rq   r   r   r   r   r   r   r   rV   markfilterwarningsr   r   r   __static_attributes__r   r&   r#   r   r   #   s|    "0 1"3
 (=A1F1( ,D.9"+MZ1,( [[ PQ$ R$20'r&   r   c                 P   [        S[        / SQSS905      nU (       a2  [        R                  " 5          US   R	                  SSS9  S S S 5        OB[        R
                  " [        (       d  [        OS 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 methodrR   r   )r   r	   r,   r   fillnar-   r   FutureWarningr   r/   rA   rY   r   isnullr   )r[   r"   s     r#   +test_update_inplace_sets_valid_block_valuesr    s    	CJ?@	AB //1sGNN1dN+ 21 ''!7!7MT"
 sGNN1dN+	
 bggnnQ'..<<<<yy{ $$&!+++  21
 
s   D7D
D
D%c                  \   [        S[        S/[        S905      n [        S/[        S9U S'   U R                  R	                  5       (       a   e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 )	Ncol1r   r*   r   col2rI   )r   r  )r  r  )r   r	   rw   r/   is_consolidatedatr,   r2   )r"   r8   s     r#   $test_nonconsolidated_item_cache_taker	    s     
FC5/	

B
 6*BvJww&&(((( vJ# &zQ BEE)3%!5VDH"'55s"""r&   ) r   r   r   numpyr3   rV   pandas.compatr   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     sZ       0 , ) )    3 //
p' p'f,.#r&   