
    MhR              
       0   S SK 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Jr  \R                  R                  rS rS rS r\R                  R)                  SS\" S	/ S
Q05      \" S	/ 05      4S\" S	/ S
Q05      \" S	S/05      4/5      S\S\S\4S j5       rg)    N)Categorical	DataFrameSeries_testingconcatread_hdf)_maybe_removeensure_clean_storec           
         [        U 5       n[        US5        [        [        / SQ/ SQSS95      nUR	                  SUSS9  UR                  S5      n[        R                  " X#5        [        US5        [        [        / SQ/ SQS	S95      nUR	                  SUSS9  UR                  S5      n[        R                  " X#5        [        US
5        [        U/ SQS.5      nUR	                  S
USS9  UR                  S
5      n[        R                  " X45        [        US5        [        / SQ5      R                  S5      nUR	                  SU5        UR                  S5      n[        R                  " X25        [        US5        [        SS[        R                  SSSS/5      R                  S5      nUR	                  SU5        UR                  S5      n[        R                  " X25        [        US5        UR                  5       n[        [        S5      5      R                  S5      US'   UR	                  SU5        UR                  S5      n[        R                  " X55        UR                  5       nSU;   d   eSU;   d   eSU;   d   e[        US5        [        [        / SQ/ SQSS95      nUR	                  SUSS9  UR                  S5      n[        R                  " X25        [        US5        UR	                  SUS/S9  XDR                   R#                  SS/5         nUR                  SS /S!9n[        R                  " X75        XDR                   R#                  SS/5         nUR                  SS"/S!9n[        R                  " X75        XDR                   R#                  S#/5         nUR                  SS$/S!9n[        R                  " X75        XDR                   R#                  S%/5         nUR                  SS&/S!9n[        R                  " X75        UR	                  SU5        [%        XD/5      nXDR                   R#                  SS/5         nUR                  SS /S!9n[        R                  " X75        UR                  5       nUS   R&                  R)                  5       US'   S'n	[*        R,                  " [.        U	S(9   UR	                  SU5        S S S 5        UR                  S)5      nUc   eUR1                  S5        [*        R,                  " [2        S*S(9   UR                  S)5        S S S 5        S S S 5        g ! , (       d  f       Nq= f! , (       d  f       N(= f! , (       d  f       g = f)+Ns)abr   r   r   cr   r   r   dF)
categoriesorderedtable)format	s_orderedTdf)                  )r   valssi)r   r   r   r   r   r   r   categorysi2r   r   r   r   r   df2abcdefgs2z/df2   z/df2/meta/values_block_0/metaz/df2/meta/values_block_2/metadf3)data_columnsr   r   zs in ["b","c"]wherezs = ["b","c"]r   z
s in ["d"]fz
s in ["f"]zEcannot append a categorical with different categories to the existing)matchzdf3/meta/s/metaz-'No object named df3/meta/s/meta in the file')r
   r	   r   r   appendselecttmassert_series_equalr   assert_frame_equalastypenpnancopylistinfor   isinr   catremove_unused_categoriespytestraises
ValueErrorremoveKeyError)

setup_pathstorer   resultr   r"   r5   expectedr%   msgs
             [/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/pytables/test_categorical.pytest_categoricalrD      s   	J	'5eS!./
 	S!G,c"
q)e[)./
 	[!G4k*
q)eT"Q(:;<T2g.d#
f) 	eT"()00<T1d#
v)eU#Aq"&&!Q1-.55jAUAe$
v) 	eU#ggi4	?+22:>D	UC e$
f* zz|D   .$666.$666 	eT"./
 	T1W-d#
v) 	eU#UBcU3ddiic
+,e,<+=>
f/ddiic
+,eO+<=
f/ddii&'eL>:
f/ddii&'eL>:
f/ 	UBRHddiic
+,e,<+=>
f/ ggis8<<88:CU]]:S1LL$ 2
 /0!!!U]]K
 LL*+
e 
(	'R 21
 
e 
(	's=   SU0U#AU0+U=U0
U	U0
U-	)U00
U>c                    SS/nSS/nSS/n[        X#US.5      nUR                  / S S 24   nX-  nUR                  USS	S
S9  [        USSS9n[        R
                  " X5        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  / S S 24   nX-  nUR                  USS	S
S9  [        USSS9n[        R
                  " X5        g )NESP_012345_6789ESP_987654_3210
APF00006np
APF0001immg333333@g#@)obsidsimgidsdatar   r   Tkeyr   r&   zobsids=Br'   r    )	r   ilocto_hdfr   r-   r/   rJ   r0   rK   )	tmp_pathr>   rJ   rK   rL   r   rA   pathr@   s	            rC   test_categorical_conversionrS      s      !23FL)F:D 
fE	FB wwr1u~H DIIdW4I@dD
3F&+ 		  ,BI		  ,BI wwr1u~H DIIdW4I@dD
3F&+    c           
         [        SSS[        R                  /[        R                  [        R                  [        R                  [        R                  // SQ[        S /S-  [        S9S.5      nUR
                  R                  S5      US'   UR                  R                  S5      US'   UR                  R                  S5      US	'   UnX-  nUR                  US
SSS9  [        US
5      n[        R                  " XS5        g )Nr   r   r   )r   r   r   r   r   )dtyper   r    r   r   r   TrM   )r   r1   r2   r   objectr   r0   r   rP   r   r-   r/   )rQ   r>   r   rA   rR   r@   s         rC   !test_categorical_nan_only_columnsrX      s     
sC(&&"&&"&&"&&1
&1		

B ddkk*%BsGddkk*%BsGddkk*%BsGH DIIdW4I@dD!F&+rT   zwhere, df, expectedzcol=="q"col)r   r   r   zcol=="a"r   r(   r   rA   c                    UR                   R                  S5      Ul         SS0n[        UR                   R                  5       5      nUR                   R                  S5      Ul         UR                   R                  R                  U5      Ul         X-  nUR                  USSUS9  [        XrS9n[        R                  " X5        g )Nr    rY   r   r   r   )rN   r   min_itemsizer'   )
rY   r0   sorteduniquer7   set_categoriesrP   r   r-   r/   )	rQ   r>   r(   r   rA   
max_widthscategorical_valuesrR   r@   s	            rC   test_convert_valuera      s     VV]]:&BFJ0<<&&z2HL<<##223EFHL DIIdW:IFd(F&+rT   )numpyr1   r9   pandasr   r   r   r   r-   r   r   pandas.tests.io.pytables.commonr	   r
   mark
single_cpu
pytestmarkrD   rS   rX   parametrizestrra    rT   rC   <module>rk      s      
 [[##
v,r,<,, 	Y78)UBK:PQ	Y78)USEN:ST,!$,*3,?H,,rT   