Ë
    ž…j¢  ã                   óú  — d dl Zd dlZd dlZd dlmZmZ d dlmZ	 ej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      ej                  j                  d	d
dg«      d„ «       «       Zej                  j                  ddej                  fdg«      ej                  j                  dg d¢«      d„ «       «       Zd„ Zy)é    N)Ú	DataFrameÚIndexÚfuncÚffillÚbfillc                 ó2  — t        g d¢dt        j                  t        j                  gg d¢gt        g d¢d¬«      ¬«      }|j	                  dg«      d	d
g   } t        || «      «       j                  }t        d	d
gd¬«      }t        j                  ||«       y )N)é   ç      ð?g      ð¿r	   )r	   g       @g       À)ÚtypeÚaÚbÚidx©Úname©Úcolumnsr   r   r   )	r   ÚnpÚnanr   ÚgroupbyÚgetattrr   ÚtmÚassert_index_equal)r   ÚdfÚ
df_groupedÚresultÚexpecteds        úb/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/groupby/test_missing.pyÚ.test_groupby_column_index_name_lost_fill_funcsr      s„   € ô 
Ú	˜!œRŸV™V¤R§V¡VÐ,ªnÐ=ÜÒ(¨uÔ5ô
€Bð —‘˜V˜HÓ% s¨C jÑ1€JØ&ŒW�Z Ó&Ó(×0Ñ0€FÜ�c˜3�Z eÔ,€HÜ×Ñ˜& (Õ+ó    c                 óR  — t        g d¢g d¢dœ«      }t        ddt        j                  dgi«      }t        j                  ||gd¬«      j                  dg¬«      }t        dd	gd
t        j                  gddggddg¬«      } t        || «      «       }t        j                  ||«       y )N)r	   é   é   )Úfield1Úfield2r#   r	   r"   )Úaxisr$   )Úbyr
   r!   g      @r   )	r   r   r   ÚpdÚconcatr   r   r   Úassert_frame_equal)r   Údf1Údf2r   r   r   s         r   Ú(test_groupby_fill_duplicate_column_namesr,      sž   € ô šy²IÑ>Ó
?€CÜ
�X ¤2§6¡6¨1˜~Ð.Ó
/€CÜ—‘˜C ˜:¨AÔ.×6Ñ6¸8¸*Ð6ÓE€JÜØ
ˆSˆ�A”r—v‘v�;  C Ð)°H¸hÐ3Gô€Hð 'ŒW�Z Ó&Ó(€FÜ×Ñ˜& (Õ+r   ÚmethodÚhas_nan_groupTFc           	      ó6  — t        ddg«      }g d¢}|j                  |«      j                  d¬«      }|rt        j                  nd}t        j                  dgdz  |gdz  z   «      |d	<   |j                  d	| ¬
«      } t        ||«      d ¬«      }g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢dœ}	|	j                  || |f«      }|j                  |«      j                  d¬«      }
|
j                  j                  t        «      |
_
        t        j                  ||
«       y )N)r	   gš™™™™™¹?)é   gš™™™™™É?)éÿÿÿÿr   r1   r1   r	   r1   T)Údropr   r   r!   Ú	group_col)r&   Údropna)Úlimit)r1   r   r   r1   r1   r1   )r1   r   r   r1   r	   r	   )r   r   r1   r1   r1   r1   )r   r   r1   r	   r	   r1   ))r   TT)r   TF)r   FT)r   FF)r   TT)r   TF)r   FT)r   FF)r   ÚreindexÚreset_indexr   r   r'   ÚSeriesr   r   Úgetr   ÚastypeÚobjectr   r)   )r4   r-   r.   Údf_without_nan_rowsÚridxr   Úgroup_bÚgroupedr   Úexpected_rowsr   s              r   Útest_ffill_handles_nan_groupsrA   &   s  € ô
 $ X¨xÐ$8Ó9Ðâ!€DØ	×	$Ñ	$ TÓ	*×	6Ñ	6¸DÐ	6Ó	A€Bá%Œb�fŠf¨3€GÜ—i‘i  ¨¡	¨W¨I¸©MÑ 9Ó:€B€{�Oà�j‰j˜K°ˆjÓ7€GØ%ŒW�W˜fÓ%¨DÔ1€Fò  6Ú 4Ú 4Ú!5Ú5Ú 4Ú 4Ú!5ñ	€Mð ×Ñ˜f f¨mÐ<Ó=€DØ"×*Ñ*¨4Ó0×<Ñ<À$Ð<ÓG€Hà×'Ñ'×.Ñ.¬vÓ6€HÔä×Ñ˜& (Õ+r   zmin_count, valuer0   )r1   r
   )ÚfirstÚlastÚmaxÚminc                 óT  — t        dgdz  dt        j                  t        j                  gt        j                  gdz  dœ«      } t        |j	                  d«      | «      |¬«      }t        |gt        j                  gdœt        dgd¬«      ¬«      }t        j                  ||«       y )	Nr	   r!   ©r   r   Úcr   )Ú	min_count)r   rH   r   )Úindex)r   r   r   r   r   r   r   r)   )r   rI   Úvaluer   r   r   s         r   Útest_min_countrL   I   s�   € ô 
˜!˜˜q™¨¬2¯6©6´2·6±6Ð':Ä"Ç&Á&ÀÈAÁÑNÓ	O€BØ+ŒW�R—Z‘Z “_ dÓ+°iÔ@€FÜ ˜w¬b¯f©f¨XÑ6¼eÀQÀCÈcÔ>RÔS€HÜ×Ñ˜& (Õ+r   c                  óò   — t        ddt        j                  gg d¢g d¢dœ«      } | j                  ddg«      }|j                  }t        j
                  dg«      t        j
                  dg«      dœ}||k(  sJ ‚y )	Nr	   )r0   r!   r"   )é   é   é   rG   r   r   r   ))r
   r0   )r
   r!   )r   r   r   r   ÚindicesÚarray)r   Úgr   r   s       r   Útest_indices_with_missingrT   S   sd   € ä	˜!˜Q¤§¡˜ªiºiÑHÓ	I€BØ
�
‰
�C˜�:Ó€AØ�Y‰Y€FÜŸ(™( A 3›-´2·8±8¸Q¸C³=ÑA€HØ�XÒÐÑr   )Únumpyr   ÚpytestÚpandasr'   r   r   Úpandas._testingÚ_testingr   ÚmarkÚparametrizer   r,   rA   r   rL   rT   © r   r   ú<module>r]      s  ðÛ Û ã ÷õ ð ‡�×Ñ˜ '¨7Ð!3Ó4ñ	,ó 5ð	,ð ‡�×Ñ˜ '¨7Ð!3Ó4ñ	,ó 5ð	,ð ‡�×Ñ˜ G¨WÐ#5Ó6Ø‡�×Ñ˜¨4°¨-Ó8ñ,ó 9ó 7ð,ðB ‡�×ÑÐ+¨q°"·&±&¨k¸9Ð-EÓFØ‡�×Ñ˜Ò!@ÓAñ,ó Bó Gð,ór   