
    MhA#                     p    S SK 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r   " S S5      r " S S5      rg)    N)SparseDtype)SparseArrayc            
           \ rS rSrS r\R                  R                  S/ SQ5      S 5       rS r	\R                  R                  SS/ S	Q/ S
QSSS.4S/ SQ/ SQSSS.4/5      S 5       r
S rSrg)TestSeriesAccessor   c                     [         R                  " / SQSS9nUR                  R                  5       n[         R                  " / SQ5      n[        R
                  " X#5        g )N)r      r   
   zSparse[int64]dtype)pdSeriessparseto_densetmassert_series_equal)selfserresultexpecteds       Z/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/sparse/test_accessor.pytest_to_dense TestSeriesAccessor.test_to_dense   s@    ii_=$$&99]+
v0    attr)npointsdensity
fill_value	sp_valuesc                     [        SS/5      n[        R                  " U5      n[        UR                  U5      n[        X!5      nXE:X  d   eg )Nr   r	   )r   r   r   getattrr   )r   r   arrr   r   r   s         r   test_get_attributes&TestSeriesAccessor.test_get_attributes   sC    1a&!iinT*3%!!!r   c                    [         R                  " S5      n/ SQn/ SQn/ SQnUR                  XBU445      n[        R                  R
                  R                  U5      n[        R                  R                  [        R                  " / SQ[        R                  S9[        R                  " / SQ[        R                  S9/5      n[        R                  " / SQUS	S
9n[        R                  " Xh5        g )Nscipy.sparse)r      r	   r   )r   r'   r	      )         	   )r   r   r	   r'   r   )r   r(   r	   r'   )r)   r,   r+   r*   Sparse[int]indexr   )pytestimportorskip
coo_matrixr   r   r   from_coo
MultiIndexfrom_arraysnparrayint32r   r   )	r   scipy_sparserowcoldatasp_arrayr   r/   r   s	            r   test_from_coo TestSeriesAccessor.test_from_coo   s    **>:**D*+=>!!**84))RXX6RXX6
 99\mL
v0r   z>sort_labels, expected_rows, expected_cols, expected_values_posF)br(   ar(   rA   r	   rC   r	   )zr	   rG   r(   xr(   rG   r   )r	   r   )r'   r'   )r	   r'   T)rE   rB   rD   r@   )rI   rK   rF   rH   r	   r(   r   r	   c                    [         R                  " S5      n[        S[        R                  SSS S/SS9n[
        R                  R                  / SQ5      n[
        R                  " XgS9n[        R                  " S5      n	UR                  5        H  u  n
u  pXX4'   M     UR                  R                  S	S
US9u  pn[        XR                  5      (       d   e[        R                   " UR#                  5       U	5        X:X  d   eX:X  d   eg )Nr&   r   r	   r'   r   ))rA   r(   rG   r	   )rC   r(   rG   r(   )rC   r(   rG   r	   )rC   r(   rJ   r(   )rA   r	   rG   r	   )rC   r	   rG   r   r/   )r)   r)   rM   )r(   r'   )
row_levelscolumn_levelssort_labels)r0   r1   r   r6   nanr   r4   from_tuplesr   zerositemsr   to_coo
isinstancer2   r   assert_numpy_array_equaltoarray)r   rS   expected_rowsexpected_colsexpected_values_pos	sp_sparsevaluesr/   ss
expected_Avaluer:   r;   Arowscolss                   r   test_to_cooTestSeriesAccessor.test_to_coo/   s    ( ''7	aAtQ7AF))	
 YYv+XXf%
!4!:!:!<E:C#(sx  "= 		((V ) 
 !112222
##AIIK<$$$$$$r   c                     [         R                  " / SQ5      n[        R                  " [        SS9   UR
                  R                    S S S 5        g ! , (       d  f       g = f)N)r	   r(   r'   z.sparsematch)r   r   r0   raisesAttributeErrorr   r   )r   r   s     r   test_non_sparse_raises)TestSeriesAccessor.test_non_sparse_raises^   s7    ii	"]]>;JJ <;;s   A
A  N)__name__
__module____qualname____firstlineno__r   r0   markparametrizer#   r>   rg   rn   __static_attributes__rp   r   r   r   r      s    1 [[V%VW" X"1& [[H 88v&	 88v&		
"%#"%<r   r   c            
       N   \ rS rSrS r\R                  R                  S/ SQ5      \R                  R                  SS\" \	R                  SS 5      /5      \R                  R                  SS	S
/5      S 5       5       5       r\R                  R                  S/ SQ5      S 5       r\R                  R                  SSS/\R                  R                  S/SS//5      SS//5      S 5       r\R                  R                  SSSS\R"                  4SSS/5      S 5       r\R                  R                  SS\R(                  /5      S 5       rS rS rS r\R                  R                  SS
S	/5      \R                  R                  SS S!/5      S" 5       5       rS# rS$ rS%rg)&TestFrameAccessord   c                     [         R                  " SSS/05      n[        R                  " [        SS9   UR
                    S S S 5        g ! , (       d  f       g = f)Nrd   r   r	   r   rj   )r   	DataFramer0   rl   rm   r   r   dfs     r   test_accessor_raises&TestFrameAccessor.test_accessor_raisese   s9    \\3A-(]]>:II ;::s   A


Aformat)csccsrcoolabelsNr
   r   float64int64c                    [         R                  " S5      n[        U[        R                  " SUS9R                  5       5      nUR                  SXS9n[        R                  R                  R                  XbUS9n[        R                  " [        R                  " SUS9X"S9R                  U5      n[        R                  " Xx5        g )Nr&   r   r   r
   r   r   )r/   columns)r0   r1   r   r6   r7   itemeyer   r|   r   from_spmatrixastyper   assert_frame_equal)	r   r   r   r   r_   sp_dtypematr   r   s	            r   test_from_spmatrix$TestFrameAccessor.test_from_spmatrixj   s     ''7	ubhhq&>&C&C&EFmmBvm;$$223f2U<<FF2U#6

&
 	 	f/r   c                 n   [         R                  " S5      nUR                  SSSUS9nSUR                  S'   [        R
                  R                  R                  U5      n[        SS5      n[        R
                  " UR                  5       5      R                  U5      n[        R                  " XF5        g )	Nr&   r
   r(         ?)r   r   r   r           )r0   r1   randomr<   r   r|   r   r   r   todenser   r   r   )r   r   r_   r   r   r   r   s          r   *test_from_spmatrix_including_explicit_zero<TestFrameAccessor.test_from_spmatrix_including_explicit_zeroy   s    ''7	r1c&A$$2237Is+<<.55e<
f/r   r   rC   rA   rd   c                 H   [         R                  " S5      n[        SS5      nUR                  SSSS9n[        R
                  R                  R                  XAS9n[        R
                  " UR                  5       US9R                  U5      n[        R                  " XV5        g )	Nr&   r   r   r
   r(   r   )r   )r   )r0   r1   r   r   r   r|   r   r   r[   r   r   r   )r   r   r_   r   r   r   r   s          r   test_from_spmatrix_columns,TestFrameAccessor.test_from_spmatrix_columns   s    
 ''7	Is+r1c2$$2232H<<w?FFuM
f/r   colnamesrd   BrL   r	   )g?g?)rJ   rJ   )r   r   c                    [         R                  " S5      n[        R                  " US   / SQUS   / SQ0SS9nUR                  R                  5       nUR                  [        R                  " U5      5      nXE:g  R                  S:X  d   eg )Nr&   r   )r   r	   r   r	   )r	   r   r   zSparse[int64, 0]r   )
r0   r1   r   r|   r   rX   r2   r6   asarraynnz)r   r   r_   r~   r   r   s         r   rg   TestFrameAccessor.test_to_coo   s|     ''7	\\a[)Xa[)<DV
 !!#''

27"''1,,,r   r   c           	      (   [         R                  " S5        [        R                  " [	        XUS/US9[	        USX/US9S.5      n[         R
                  " [        SS9   UR                  R                  5         S S S 5        g ! , (       d  f       g = f)Nscipyr(   rO   r   zfill value must be 0rj   )	r0   r1   r   r|   r   rl   
ValueErrorr   rX   )r   r   r~   s      r   #test_to_coo_nonzero_fill_val_raises5TestFrameAccessor.test_to_coo_nonzero_fill_val_raises   s{    G$\\ Z;
 !J;
		
 ]]:-CDII EDDs   B
Bc                    [         R                  " S5      n[        R                  R	                  [        R
                  " [        S5      SS9[        R
                  " SS/SS9/5      n[        R                  " SUSS	9nUR                  R                  S/S/S
9S   nUR                  [        R                  " SS/5      [        R                  " SS/5      [        R                  " SS/5      44SS9nXE:g  R                  S:X  d   eg )Nr&   abrJ   )namer   r	   yr-   r.   )rQ   rR   )r(   r(   )shape)r0   r1   r   r4   r5   CategoricalIndexlistr   r   rX   r2   r6   r7   r   )r   r_   midxr   r   r   s         r   test_to_coo_midx_categorical.TestFrameAccessor.test_to_coo_midx_categorical   s    ''7	}}((##DJS9##QF5
 ii];""seC5"I!L''XXq!f!Q 0"((Aq62BCDF ( 
 "''1,,,r   c                 T   [         R                  " [        SS/[        SS5      S9[        SS/[        SS5      S9[        SS/[        SS5      S9S.S	S
/S9nUR                  R                  5       n[         R                  " SS/SS/SS/S.S	S
/S9n[        R                  " X#5        g )Nr	   r   r   r   g      ?r   r   )rd   r   CrA   rC   rP   )r   r|   r   r   r   r   r   r   )r   r~   r   r   s       r   r   TestFrameAccessor.test_to_dense   s    \\ !Q{7A/FG !Q{7A/FG #s;y#3NO
 *
 ##%<<a&1vS#J7Sz
 	f/r   c                     [         R                  " [        / SQSS9[        / SQSS9S.5      nUR                  R                  nSnX#:X  d   eg )N)r	   r   r(   r	   r   rO   )r   r	   r	   r	   r   g      ?)r   r|   r   r   r   )r   r~   resr   s       r   test_densityTestFrameAccessor.test_density   sI    \\ !< !<
 iir   dense_indexTFc           	         [         R                  " S5      nUR                  SSUS9n[        R                  R
                  R                  XBS9n[        R                  R                  [        R                  " SS/[        R                  S9[        R                  " SS/[        R                  S9[        R                  " S	S	/[        R                  S9/5      n[        R                  " [        [        R                  " / S
QUS95      US9nU(       a8  UR                  [        R                  R                  UR                  5      5      n[         R"                  " XW5        g )Nr&   r'   r   r   )r   r   r   r	   r(   )r	   r	   r	   rP   )r0   r1   r   r   r   r   r3   r4   rU   r6   r7   r8   r   reindexfrom_productlevelsr   r   )r   r   r   r_   rd   r   r/   r   s           r   test_series_from_coo&TestFrameAccessor.test_series_from_coo   s     ''7	MM!EM7!!**1*F))!Qrxx0!Qrxx0!Qrxx0
 99[)5)IJRWX''(B(B5<<(PQH
v0r   c                 >   [         R                  " S5      nUR                  [        R                  " SS/SS//5      5      n[         R
                  " [        SS9   [        R                  R                  R                  U5        S S S 5        g ! , (       d  f       g = f)Nr&   r   r	   z,Expected coo_matrix. Got csr_matrix instead.rj   )r0   r1   
csr_matrixr6   r7   rl   	TypeErrorr   r   r   r3   )r   r_   ms      r   ,test_series_from_coo_incorrect_format_raises>TestFrameAccessor.test_series_from_coo_incorrect_format_raises   st    ''7	  Aq6Aq6*:!;<]]K
 II%%a(
 
 
s   *B
Bc                    [         R                  " S[         R                  R                  SS/5      05      n[	        UR
                  [         R                  R                  R
                  R                  R                  5      (       d   eg )Nr   r	   r(   )	r   r|   arraysr   rY   r   coreaccessorSparseFrameAccessorr}   s     r   test_with_column_named_sparse/TestFrameAccessor.test_with_column_named_sparse   sY    \\8RYY%:%:Aq6%BCD"))RWW^^%:%:%C%C%W%WXXXXr   rp   )rq   rr   rs   rt   r   r0   ru   rv   r   stringascii_lettersr   r   r   r4   r   r   NArg   r6   rT   r   r   r   r   r   r   r   rw   rp   r   r   ry   ry   d   s   
 [[X'<=[[Xd63G3G3L.M'NO[[Wy'&:;
0 < P >
0 [[X'<=0 >0 [[
sR]]//#c
0CDsCjQ0	0 [[Z!RUUZVT-- [[\Arvv;7 8-$0	 [[Ww	&:;[[]T5M:1 ; <1&)Yr   ry   )r   numpyr6   r0   pandasr   r   pandas._testing_testingr   pandas.core.arrays.sparser   r   ry   rp   r   r   <module>r      s5          1U UpYY YYr   