Ë
    AúYj$  ã                   óp   — d dl Z d dlZd dlZd dlZd dlmZ d dlmZ	 d dl
mZ  G d„ d«      Z G d„ d«      Zy)é    N)ÚSparseDtype)ÚSparseArrayc            
       óÚ   — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zd„ Zej
                  j                  ddg d¢g d	¢d
ddœfdg d¢g d¢dddœfg«      d„ «       Z	d„ Z
y)ÚTestSeriesAccessorc                 óÄ   — t        j                  g d¢d¬«      }|j                  j                  «       }t        j                  g d¢«      }t	        j
                  ||«       y )N)r   é   r   é
   zSparse[int64]©Údtype)ÚpdÚSeriesÚsparseÚto_denseÚtmÚassert_series_equal)ÚselfÚserÚresultÚexpecteds       ús/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/pandas/tests/arrays/sparse/test_accessor.pyÚtest_to_densez TestSeriesAccessor.test_to_dense   sB   € Ü�i‰iš¨_Ô=ˆØ—‘×$Ñ$Ó&ˆÜ—9‘9š]Ó+ˆÜ
×Ñ˜v xÕ0ó    Úattr)ÚnpointsÚdensityÚ
fill_valueÚ	sp_valuesc                 óš   — t        ddg«      }t        j                  |«      }t        |j                  |«      }t        ||«      }||k(  sJ ‚y )Nr   r   )r   r   r   Úgetattrr   )r   r   Úarrr   r   r   s         r   Útest_get_attributesz&TestSeriesAccessor.test_get_attributes   sG   € ä˜1˜a˜&Ó!ˆÜ�i‰i˜‹nˆä˜Ÿ™ TÓ*ˆÜ˜3 Ó%ˆØ˜Ò!Ð!Ñ!r   c                 óø  — t        j                  d«      }g d¢}g d¢}g d¢}|j                  |||ff«      }t        j                  j
                  j                  |«      }t        j                  j                  t        j                  g d¢t        j                  ¬«      t        j                  g d¢t        j                  ¬«      g«      }t        j                  g d¢|d	¬
«      }t        j                  ||«       y )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_cooz TestSeriesAccessor.test_from_coo   sµ   € Ü×*Ñ*¨>Ó:ˆâˆÚˆÚˆà×*Ñ*¨D°3¸°*Ð+=Ó>ˆÜ—‘×!Ñ!×*Ñ*¨8Ó4ˆä—‘×)Ñ)ä—‘š¬R¯X©XÔ6Ü—‘š¬R¯X©XÔ6ðó
ˆô —9‘9š\°¸mÔLˆÜ
×Ñ˜v xÕ0r   z>sort_labels, expected_rows, expected_cols, expected_values_posF)©Úbr%   ©Úar%   ©r=   r   ©r?   r   )©Úzr   ©rC   r%   ©Úxr%   ©rC   r   )r   r   )r$   r$   )r   r$   T)rA   r>   r@   r<   )rE   rG   rB   rD   ©r   r%   ©r   r   c                 ó&  — t        j                  d«      }t        dt        j                  ddd dgd¬«      }t
        j                  j                  g d¢«      }t        j                  ||¬«      }t        j                  d«      }	|j                  «       D ]  \  }
\  }}|
|	||f<   Œ |j                  j                  d	d
|¬«      \  }}}t        ||j                  «      sJ ‚t        j                   |j#                  «       |	«       ||k(  sJ ‚||k(  sJ ‚y )Nr#   r   r   r$   ©r   ))r=   r%   rC   r   )r?   r%   rC   r%   )r?   r%   rC   r   )r?   r%   rF   r%   )r=   r   rC   r   )r?   r   rC   r   ©r,   )r&   r&   rI   )r%   r$   )Ú
row_levelsÚcolumn_levelsÚsort_labels)r-   r.   r   r3   Únanr   r1   Úfrom_tuplesr   ÚzerosÚitemsr   Úto_cooÚ
isinstancer/   r   Úassert_numpy_array_equalÚtoarray)r   rO   Úexpected_rowsÚexpected_colsÚexpected_values_posÚ	sp_sparseÚvaluesr,   ÚssÚ
expected_AÚvaluer7   r8   ÚAÚrowsÚcolss                   r   Útest_to_coozTestSeriesAccessor.test_to_coo/   s  € ô( ×'Ñ'¨Ó7ˆ	ä˜a¤§¡¨¨A¨t°QÐ7ÀAÔFˆÜ—‘×)Ñ)òó	
ˆô �Y‰Y�v UÔ+ˆä—X‘X˜fÓ%ˆ
Ø!4×!:Ñ!:Ó!<ò 	)ÑˆE‘:�C˜Ø#(ˆJ�s˜C�xÒ ð	)ð Ÿ	™	×(Ñ(Ø¨VÀð )ó 
‰ˆˆ4�ô ˜!˜Y×1Ñ1Ô2Ð2Ð2Ü
×#Ñ# A§I¡I£K°Ô<Ø�}Ò$Ð$Ð$Ø�}Ò$Ð$Ñ$r   c                 ó¾   — t        j                  g d¢«      }t        j                  t        d¬«      5  |j
                  j                   d d d «       y # 1 sw Y   y xY w)N)r   r%   r$   z.sparse©Úmatch)r   r   r-   ÚraisesÚAttributeErrorr   r   )r   r   s     r   Útest_non_sparse_raisesz)TestSeriesAccessor.test_non_sparse_raises^   s@   € Ü�i‰iš	Ó"ˆÜ�]‰]œ>°Ô;ñ 	Ø�J‰J×Ò÷	÷ 	ñ 	ús   ³AÁAN)Ú__name__Ú
__module__Ú__qualname__r   r-   ÚmarkÚparametrizer!   r;   rc   ri   © r   r   r   r      s“   „ ò1ð ‡[�[×Ñ˜VÒ%VÓWñ"ó Xð"ò1ð& ‡[�[×ÑØHð Ú8Ú8Ø˜vÑ&ð	ð Ú8Ú8Ø˜vÑ&ð	ð	
óñ"%ó#ð"%ó<r   r   c            
       ó  — e Zd Zd„ Zej
                  j                  dg d¢«      ej
                  j                  dd eej                  dd «      g«      ej
                  j                  de
j                  e
j                  e
j                  eg«      d„ «       «       «       Zej
                  j                  dg d¢«      ej
                  j                  de
j                  eg«      d	„ «       «       Zej
                  j                  d
ddgej$                  j'                  dgddgg«      ddgg«      d„ «       Zej
                  j                  d
dddej*                  fdddg«      ej
                  j                  de
j                  e
j                  e
j                  eg«      d„ «       «       Zd„ Zd„ Zd„ Zej
                  j                  dddg«      ej
                  j                  dddg«      d„ «       «       Zd„ Zd „ Zd!„ Zy)"ÚTestFrameAccessorc                 ó®   — t        j                  dddgi«      }t        j                  t        d¬«      5  |j
                   d d d «       y # 1 sw Y   y xY w)Nr`   r   r   r   re   )r   Ú	DataFramer-   rg   rh   r   ©r   Údfs     r   Útest_accessor_raisesz&TestFrameAccessor.test_accessor_raisese   sB   € Ü�\‰\˜3  A ˜-Ó(ˆÜ�]‰]œ>°Ô:ñ 	Ø�IŠI÷	÷ 	ñ 	ús   µAÁAÚformat)ÚcscÚcsrÚcooÚlabelsNr	   r   c                 óâ  — t        j                  d«      }t        |«      }|j                  d||¬«      }t        j
                  j                  j                  |||¬«      }t        j                  d|¬«      }t	        j
                  t        j                  j                  ||dk(  ¬«      j                  |j                  «      ||¬«      j                  |«      }	t        j                  ||	«       y )Nr#   r	   ©rw   r   )r,   Úcolumnsr
   r   ©Úmask)r-   r.   r   Úeyer   rs   r   Úfrom_spmatrixr3   Úmar4   Úfilledr   Úastyper   Úassert_frame_equal)
r   rw   r{   r   r[   Úsp_dtypeÚsp_matr   Úmatr   s
             r   Útest_from_spmatrixz$TestFrameAccessor.test_from_spmatrixj   sÂ   € ô ×'Ñ'¨Ó7ˆ	ä˜uÓ%ˆà—‘˜r¨&¸�Ó>ˆÜ—‘×$Ñ$×2Ñ2°6ÀÐQWÐ2ÓXˆÜ�f‰f�R˜uÔ%ˆÜ—<‘<Ü�E‰E�K‰K˜ 3¨!¡8ˆKÓ-×4Ñ4°X×5HÑ5HÓIØØô
÷ ‰&�Ó
ð	 	ô
 	×Ñ˜f hÕ/r   c                 óê  — t        j                  d«      }t        |«      }|j                  ddd||¬«      }d|j                  d<   t
        j                  j                  j                  |«      }|j                  «       }t        j                  t        j                  j                  ||dk(  ¬«      j                  |j                  «      «      j                  |«      }t!        j"                  ||«       y )Nr#   r	   r%   ç      à?©r   rw   r   r   r   )r-   r.   r   Úrandomr9   r   rs   r   r‚   rW   r3   rƒ   r4   r„   r   r…   r   r†   )	r   rw   r   r[   r‡   rˆ   r   r‰   r   s	            r   Ú*test_from_spmatrix_including_explicit_zeroz<TestFrameAccessor.test_from_spmatrix_including_explicit_zero|   sÂ   € ô ×'Ñ'¨Ó7ˆ	ä˜uÓ%ˆà×!Ñ! " a°¸VÈ5Ð!ÓQˆØˆ�‰�A‰Ü—‘×$Ñ$×2Ñ2°6Ó:ˆØ�n‰nÓˆÜ—<‘<Ü�E‰E�K‰K˜ 3¨!¡8ˆKÓ-×4Ñ4°X×5HÑ5HÓIó
ç
‰&�Ó
ð 	ô 	×Ñ˜f hÕ/r   r~   r?   r=   r`   c                 óì  — t        j                  d«      }t        t        j                  «      }|j                  ddd¬«      }t        j                  j                  j                  ||¬«      }|j                  «       }t        j                  t        j                  j                  ||dk(  ¬«      j                  |j                  «      |¬«      j                  |«      }t!        j"                  ||«       y )	Nr#   r	   r%   rŒ   )r   )r~   r   r   )r-   r.   r   r3   Úfloat64rŽ   r   rs   r   r‚   rW   rƒ   r4   r„   r   r…   r   r†   )r   r~   r[   r‡   rˆ   r   r‰   r   s           r   Útest_from_spmatrix_columnsz,TestFrameAccessor.test_from_spmatrix_columnsŒ   s¿   € ô
 ×'Ñ'¨Ó7ˆ	äœrŸz™zÓ*ˆà×!Ñ! " a°Ð!Ó5ˆÜ—‘×$Ñ$×2Ñ2°6À7Ð2ÓKˆØ�n‰nÓˆÜ—<‘<Ü�E‰E�K‰K˜ 3¨!¡8ˆKÓ-×4Ñ4°X×5HÑ5HÓIØô
÷ ‰&�Ó
ð 	ô 	×Ñ˜f hÕ/r   ©r`   ÚBrH   r   )gš™™™™™¹?gš™™™™™É?)rF   rF   )r   r   c                 óŽ  — t        j                  d«      }t        |«      }|j                  dddd|¬«      }|j	                  «       }t        j                  t        j                  j                  ||dk(  ¬«      j                  |j                  «      ||¬	«      j                  j                  «       }||k7  j                  dk(  sJ ‚y )
Nr#   r	   r%   rŒ   rz   r�   r   r   )r~   r   )r-   r.   r   rŽ   rW   r   rs   r3   rƒ   r4   r„   r   r   rT   Únnz)r   r~   r   r[   r‡   r   r‰   r   s           r   rc   zTestFrameAccessor.test_to_coož   s¯   € ô
 ×'Ñ'¨Ó7ˆ	ä˜uÓ%ˆà×#Ñ# B¨°3¸uÈEÐ#ÓRˆØ×ÑÓ ˆÜ—‘Ü�E‰E�K‰K˜ 3¨!¡8ˆKÓ-×4Ñ4°X×5HÑ5HÓIØØô
÷ ‰&—‘“ð	 	ð
 ˜(Ñ"×'Ñ'¨1Ò,Ð,Ñ,r   c                 ó"  — t        j                  d«      }t        j                  j	                  t        j
                  t        d«      d¬«      t        j
                  ddgd¬«      g«      }t        j                  d|d¬	«      }|j                  j                  dgdg¬
«      d   }|j                  t        j                  ddg«      t        j                  ddg«      t        j                  ddg«      ffd¬«      }||k7  j                  dk(  sJ ‚y )Nr#   ÚabrF   )Únamer   r   Úyr*   r+   )rM   rN   )r%   r%   )Úshape)r-   r.   r   r1   r2   ÚCategoricalIndexÚlistr   r   rT   r/   r3   r4   r–   )r   r[   Úmidxr   r   r   s         r   Útest_to_coo_midx_categoricalz.TestFrameAccessor.test_to_coo_midx_categorical°   sï   € ä×'Ñ'¨Ó7ˆ	ä�}‰}×(Ñ(ä×#Ñ#¤D¨£J°SÔ9Ü×#Ñ# Q¨ F°Ô5ðó
ˆô �i‰i˜ ¨]Ô;ˆØ—‘×"Ñ"¨s¨eÀCÀ5Ð"ÓIÈ!ÑLˆØ×'Ñ'Ü�X‰X�q˜!�fÓ¤§¡¨!¨Q¨Ó 0´"·(±(¸A¸q¸6Ó2BÐCÐDÈFð (ó 
ˆð ˜(Ñ"×'Ñ'¨1Ò,Ð,Ñ,r   c                 ón  — t        j                  t        ddgt        dd«      ¬«      t        ddgt        dd«      ¬«      t        ddgt        dd«      ¬«      dœd	d
g¬«      }|j                  j                  «       }t        j                  ddgddgddgdœd	d
g¬«      }t        j                  ||«       y )Nr   r   Úint64r
   g      ð?g        r‘   )r`   r”   ÚCr=   r?   rL   )r   rs   r   r   r   r   r   r†   )r   ru   r   r   s       r   r   zTestFrameAccessor.test_to_denseÂ   s­   € Ü�\‰\ä  ! Q ¬{¸7ÀAÓ/FÔGÜ  ! Q ¬{¸7ÀAÓ/FÔGÜ  # s ´;¸yÈ#Ó3NÔOñð
 ˜�*ô
ˆð —‘×#Ñ#Ó%ˆÜ—<‘<Ø�a�&  1˜v¨S°#¨JÑ7ÀÀS¸zô
ˆô 	×Ñ˜f hÕ/r   c                 ó¦   — t        j                  t        g d¢d¬«      t        g d¢d¬«      dœ«      }|j                  j                  }d}||k(  sJ ‚y )N)r   r   r%   r   r   rK   )r   r   r   r   r“   g      è?)r   rs   r   r   r   )r   ru   Úresr   s       r   Útest_densityzTestFrameAccessor.test_densityÑ   sK   € Ü�\‰\ä ¢¸!Ô<Ü ¢¸!Ô<ñó
ˆð �i‰i×ÑˆØˆØ�hŠÐ‰r   r¡   r‘   Údense_indexTFc                 óÜ  — t        j                  d«      }|j                  dd|¬«      }t        j                  j
                  j                  ||¬«      }t        j                  j                  t        j                  ddgt        j                  ¬«      t        j                  ddgt        j                  ¬«      t        j                  d	d	gt        j                  ¬«      g«      }t        j                  t        t        j                  g d
¢|¬«      «      |¬«      }|r8|j                  t        j                  j                  |j                  «      «      }t!        j"                  ||«       y )Nr#   r$   rz   r}   )r¦   r   r
   r   r%   )r   r   r   rL   )r-   r.   r�   r   r   r   r0   r1   rQ   r3   r4   r5   r   ÚreindexÚfrom_productÚlevelsr   r   )r   r   r¦   r[   r`   r   r,   r   s           r   Útest_series_from_cooz&TestFrameAccessor.test_series_from_cooÜ   sû   € ô ×'Ñ'¨Ó7ˆ	à�M‰M˜! E°ˆMÓ7ˆÜ—‘×!Ñ!×*Ñ*¨1¸+Ð*ÓFˆä—‘×)Ñ)ä—‘˜!˜Q˜¤r§x¡xÔ0Ü—‘˜!˜Q˜¤r§x¡xÔ0Ü—‘˜!˜Q˜¤r§x¡xÔ0ðó
ˆô —9‘9œ[¬¯©²)À5Ô)IÓJÐRWÔXˆÙØ×'Ñ'¬¯©×(BÑ(BÀ5Ç<Á<Ó(PÓQˆHä
×Ñ˜v xÕ0r   c                 ó4  — t        j                  d«      }|j                  t        j                  ddgddgg«      «      }t        j
                  t        d¬«      5  t        j                  j                  j                  |«       d d d «       y # 1 sw Y   y xY w)Nr#   r   r   z,Expected coo_matrix. Got csr_matrix instead.re   )r-   r.   Ú
csr_matrixr3   r4   rg   Ú	TypeErrorr   r   r   r0   )r   r[   Úms      r   Ú,test_series_from_coo_incorrect_format_raisesz>TestFrameAccessor.test_series_from_coo_incorrect_format_raisesñ   sy   € ä×'Ñ'¨Ó7ˆ	à× Ñ ¤§¡¨A¨q¨6°A°q°6Ð*:Ó!;Ó<ˆÜ�]‰]ÜÐKô
ñ 	)ô �I‰I×Ñ×%Ñ% aÔ(÷	)÷ 	)ñ 	)ús   Á*BÂBc                 ó  — t        j                  dt         j                  j                  ddg«      i«      }t	        |j
                  t         j                  j                  j
                  j                  j                  «      sJ ‚y ©Nr   r   r%   )	r   rs   Úarraysr   rU   r   ÚcoreÚaccessorÚSparseFrameAccessorrt   s     r   Útest_with_column_named_sparsez/TestFrameAccessor.test_with_column_named_sparseû   sV   € ä�\‰\˜8¤R§Y¡Y×%:Ñ%:¸A¸q¸6Ó%BÐCÓDˆÜ˜"Ÿ)™)¤R§W¡W§^¡^×%:Ñ%:×%CÑ%C×%WÑ%WÔXÐXÑXr   c                 óØ   — t        j                  dt        j                  j	                  ddg«      i«      }t        |j                  j                  «       t         j                  «      sJ ‚y r²   )r   ÚSubclassedDataFramer   r³   r   rU   r   r   rt   s     r   Útest_subclassingz"TestFrameAccessor.test_subclassing   sM   € Ü×#Ñ# X¬r¯y©y×/DÑ/DÀaÈÀVÓ/LÐ$MÓNˆÜ˜"Ÿ)™)×,Ñ,Ó.´×0FÑ0FÔGÐGÑGr   )rj   rk   rl   rv   r-   rm   rn   r�   ÚstringÚascii_lettersr3   Ú
complex128r‘   r¡   ÚboolrŠ   r�   r   r1   r©   r’   ÚNArc   rŸ   r   r¥   r«   r°   r·   rº   ro   r   r   rq   rq   d   sü  „ òð
 ‡[�[×Ñ˜XÒ'<Ó=Ø‡[�[×Ñ˜X¨©d°6×3GÑ3GÈÈÐ3LÓ.MÐ'NÓOØ‡[�[×Ñ˜W r§}¡}°b·j±jÀ"Ç(Á(ÈDÐ&QÓRñ0ó Só Pó >ð0ð ‡[�[×Ñ˜XÒ'<Ó=Ø‡[�[×Ñ˜W r§x¡x°Ð&6Ó7ñ0ó 8ó >ð0ð ‡[�[×ÑØØ
ˆsˆ�R—]‘]×/Ñ/°#°¸¸c¸
Ð0CÓDÀsÈCÀjÐQóñ0ó	ð0ð ‡[�[×ÑØ�J ¨¨B¯E©E¨
°JÀ
ÈFÐSóð ‡[�[×Ñ˜W r§}¡}°b·j±jÀ"Ç(Á(ÈDÐ&QÓRñ-ó Sóð-ò-ò$0ò	ð ‡[�[×Ñ˜W w°	Ð&:Ó;Ø‡[�[×Ñ˜]¨T°5¨MÓ:ñ1ó ;ó <ð1ò&)òYó
Hr   rq   )r»   Únumpyr3   r-   Úpandasr   r   Úpandas._testingÚ_testingr   Úpandas.core.arrays.sparser   r   rq   ro   r   r   ú<module>rÅ      s5   ðÛ ã Û ã Ý Ý Ý 1÷Uñ U÷p^Hò ^Hr   