
    I j>                         S SK rS SKrS SKJrJrJrJrJ	r	J
r
  \R                  R                  /rS rS rS r\R                  R#                  SS/ /SS///5      S	\4S
 j5       rg)    N)Categorical	DataFrameSeries_testingconcatread_hdfc           	      	   [        [        / SQ/ SQSS95      nU R                  SUSS9  U R                  S5      n[        R
                  " X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
QS.5      nU R                  SUSS9  U R                  S5      n[        R                  " X#5        [        / SQ5      R                  S5      nU R                  SU5        U R                  S5      n[        R
                  " X!5        [        SS[        R                  SSSS/5      R                  S5      nU R                  SU5        U R                  S5      n[        R
                  " X!5        UR                  5       n[        [        S5      5      R                  S5      US'   U R                  SU5        U R                  S5      n[        R                  " X$5        U R                  5       nSU;   d   eSU;   d   eSU;   d   e[        [        / 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 R                  SUS/S9  X3R                  R                  SS/5         nU R                  SS /S!9n[        R                  " X&5        X3R                  R                  SS/5         nU R                  SS"/S!9n[        R                  " X&5        X3R                  R                  S#/5         nU R                  SS$/S!9n[        R                  " X&5        X3R                  R                  S%/5         nU R                  SS&/S!9n[        R                  " X&5        U R                  SU5        [!        X3/5      nX3R                  R                  SS/5         nU R                  SS /S!9n[        R                  " X&5        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 R-                  S5        [&        R(                  " [.        S*S(9   U R                  S)5        S S S 5        g ! , (       d  f       Ni= f! , (       d  f       g = f)+N)abr   r
   r
   cr
   r   r   dF)
categoriesorderedstable)formatT	s_ordered)                  )r   valsdf)r   r   r   r   r   r   r   categorysir   r   r   r   r   si2abcdefgs2df2z/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   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)	temp_hdfstorer   resultr   r"   r3   expectedr#   msgs	            z/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_categorical.pytest_categoricalrA      s   *+	
	A a0!!#&F1%*+	
	A a8!!+.F1%	$67	8Br'2!!$'F&% 	$%,,Z8Aq!!!$'F6%1bffaAq)*11*=A"!!%(F6% '')CtI'..z:CI$!!%(F&& D*d222*d222 	*+	
	A q1!!$'F6% #7$$))S#J'(H!!%0@/A!BF&+$$))S#J'(H!!%/@!AF&+$$))SE"#H!!%~!>F&+$$))SE"#H!!%~!>F&+ #		B$$))S#J'(H!!%0@/A!BF&+ '')C3x||446CH
QC	z	-UC( 
.
 !!"34F	x'V	W./ 
X	W 
.	- 
X	Ws   $S?S+
S(+
S9c                    SS/nSS/nSS/n[        XUS.5      nUR                  / S S 24   nUR                  U SS	S
S9  [        U SSS9n[        R
                  " Xe5        UR                  R                  S5      Ul        UR                  R                  S5      Ul        UR                  / S S 24   nUR                  U SS	S
S9  [        U SSS9n[        R
                  " Xe5        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-   rG   r.   rH   )temp_h5_pathrG   rH   rI   r   r>   r=   s          r@   test_categorical_conversionrO   ~   s      !23FL)F:D 
fE	FB wwr1u~HIIlW4IHlD
;F&+ 		  ,BI		  ,BI wwr1u~HIIlW4IHlD
;F&+    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UR                  U S
SSS9  [        U S
5      n[        R                  " X25        g )Nr
   r   r   )r   r   r   r   r   )dtyper   r   r   r   r   TrJ   )r   r/   r0   r   objectr
   r.   r   rM   r   r+   r-   )rN   r   r>   r=   s       r@   !test_categorical_nan_only_columnsrT      s     
sC(&&"&&"&&"&&1
&1		

B ddkk*%BsGddkk*%BsGddkk*%BsGHIIlW4IHlD)F&+rP   zwhere, expectedqr
   r&   c                    [        S/ SQ05      nUR                  R                  S5      Ul        SS0n[        UR                  R	                  5       5      n[        SU05      nUR                  R                  S5      Ul        UR                  R
                  R                  U5      Ul        UR                  U SSUS9  [        U SU S	3S
9n[        R                  " Xb5        g )Ncol)r
   r   r   r   r   r   r   )rK   r   min_itemsizezcol==""r%   )r   rW   r.   sorteduniquer5   set_categoriesrM   r   r+   r-   )rN   r&   r>   r   
max_widthscategorical_valuesr=   s          r@   test_convert_valuer_      s     
E?+	,BVV]]:&BFJ0%*+H<<&&z2HL<<##223EFHLIIlW:INlF5'*;<F&+rP   )numpyr/   r7   pandasr   r   r   r   r+   r   r   mark
single_cpu
pytestmarkrA   rO   rT   parametrizestrr_    rP   r@   <module>rh      sw       kk$$%
k0\,8,* *c2Yse,EF,C , G,rP   