a
    é´«j×¼  ã                   @   sÊ   d dl m Z mZ d dlZd dlZd dlZd dlmZ d dl	m
Z
mZ d dlmZ d dlm  mZ d dlZd dlmZmZmZmZmZmZmZmZ d dlmZ d dlm Z  G dd	„ d	ƒZ!G d
d„ dƒZ"dS )é    )ÚdatetimeÚ	timedeltaN)Údateutil_gettz)ÚIS64Úis_platform_windows)Únp_version_gt2)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ
date_rangeÚisna)ÚCategoricalDtypec                   @   sN   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	g d
¢g d¢g¡dd„ ƒZ
dS )ÚTestReindexSetIndexc                 C   sj   t tj d¡ d¡ƒ}tddddd�}tdddd	d�}| |¡}t |j|¡ | 	|¡}t |j|¡ d S )
Né   é   z
2011/01/01ZMEú
US/Eastern©ÚperiodsÚfreqÚtzZ2013ZYEz
Asia/Tokyo)
r
   ÚnpÚrandomÚdefault_rngr   Ú	set_indexÚtmÚassert_index_equalÚindexÚreindex)ÚselfÚdfZidx1Zidx2© r#   úf/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/frame/methods/test_reindex.pyÚ(test_dti_set_index_reindex_datetimeindex$   s    

z<TestReindexSetIndex.test_dti_set_index_reindex_datetimeindexc                 C   s‚   t tdddƒtddddƒddd�}ttj d¡ d	¡d
g|d�}t tdddƒtddddƒddd�}| |¡}|jj	|j	ks~J ‚d S )Niß  é
   é   é   Úhr   )r   r   r   )é   r'   Úa©Úcolumnsr   )
r   r   r
   r   r   r   Ústandard_normalr   r   r   )r!   r   r"   Ú	new_indexÚresultr#   r#   r$   Ú'test_dti_set_index_reindex_freq_with_tz/   s    ÿýÿ
z;TestReindexSetIndex.test_dti_set_index_reindex_freq_with_tzc                 C   s<   t dtdƒiƒ}t |jd¡}||d< | d¡}| ¡ }d S )NÚAr&   é   ÚB)r
   ÚrangeÚpdÚcutr2   r   Úreset_index)r!   r"   Úserr#   r#   r$   Ú"test_set_reset_index_intervalindex@   s
    
z6TestReindexSetIndex.test_set_reset_index_intervalindexc                 C   s    t g d¢d� dtjtjdœ¡}| dg¡}g |d< | ¡ }t g d¢tdƒd� dtjtjtjdœ¡}t 	||¡ | dd	g¡}g |d< | ¡ }t 	||¡ d S )
N©r+   ÚbÚc©r-   zdatetime64[ns]r+   Úd©r+   r<   r=   r?   r   r,   r<   )
r
   Úastyper   Úint64Úfloat64r   r8   r5   r   Úassert_frame_equal)r!   r"   Zdf1r0   ÚexpectedÚdf2r#   r#   r$   Útest_setitem_reset_index_dtypesH   s    ÿÿz3TestReindexSetIndex.test_setitem_reset_index_dtypesz timezone, year, month, day, hour)zAmerica/ChicagoiÝ  é   é   r'   )zAmerica/Santiagoiå  é   rI   r(   c              	   C   sœ   t |ƒ}tj||||dd|d�}tj||||dd|d�}t||gddgdœƒ d¡ dd	g¡}	tdd	gtjtjgdœƒ d¡}
|
 |	j	j
¡}
t |	|
¡ d S )
Nr   )ÚyearÚmonthÚdayÚhourÚminuteÚfoldÚtzinfor'   r+   r<   )r   Úvalsr   Ú1Ú2)Úgettzr6   Ú	Timestampr
   r   r    r   ÚnanrA   rR   Údtyper   rD   )r!   ÚtimezonerK   rL   rM   rN   Ztest_timezoneZtransition_1Ztransition_2r"   Úexpr#   r#   r$   Ú test_reindex_timestamp_with_foldZ   sB    ù	ù
ÿþÿÿþz4TestReindexSetIndex.test_reindex_timestamp_with_foldN)Ú__name__Ú
__module__Ú__qualname__r%   r1   r:   rG   ÚpytestÚmarkÚparametrizer[   r#   r#   r#   r$   r   !   s   þr   c                   @   sž  e Zd Zejje peƒ oe dd�e	j
dd„ ƒƒZdd„ Zdd„ Ze	j
d	d
„ ƒZdd„ Zej ddg d¢fdejdddgfdg d¢fg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zej dd g d!¢fd"d#d$d%ejgfg¡d&d'„ ƒZd(d)„ Zej d*g d+¢d,gg d-¢d,gd.gd,gg d/¢d,gg d0¢d,gd1d2gd,gd1d.gd,gd.d2gd,gg d3¢d,gd4d5gd6gg d7¢d6gg¡d8d9„ ƒZej d:g d;¢¡d<d=„ ƒZej d>g d?¢g d@¢gg dA¢g dB¢gdCdDgg dE¢gdDdFgg dG¢gg¡dHdI„ ƒZej dJedKƒg dL¢d,gedMƒg dN¢d,gedOƒg dP¢d,gedQƒg dR¢d,gedSƒg dT¢d,gedUƒg dV¢d,gedWƒg dX¢d,gedYƒg d6gg¡dZd[„ ƒZd\d]„ Zd^d_„ Z d`da„ Z!dbdc„ Z"ddde„ Z#dfdg„ Z$dhdi„ Z%djdk„ Z&dldm„ Z'dndo„ Z(dpdq„ Z)drds„ Z*dtdu„ Z+dvdw„ Z,dxdy„ Z-dzd{„ Z.d|d}„ Z/d~d„ Z0d€d�„ Z1d‚dƒ„ Z2d„d…„ Z3d†d‡„ Z4dˆd‰„ Z5dŠd‹„ Z6dŒd�„ Z7dŽd�„ Z8d�d‘„ Z9d’d“„ Z:ej d”de;d•d–�d—œde;d•d–�d—œd˜did˜d™ig¡dšd›„ ƒZ<ej dœe=g ƒe>g ƒg¡ej d�e=g ƒe>g ƒe=d.d2gƒe>d.d2gƒe=d.d.gƒe>d.d.gƒg¡dždŸ„ ƒƒZ?ej d d¡d¢g¡d£d¤„ ƒZ@ej d¥e>g d.gd¦�e=d.gƒe=d.gƒfe>g d.gd¦�e=d2gƒe=d2gƒfe>g d.gd¦�e>d.gƒe>d.gƒfe>g d.gd¦�e>d2gƒe>d2gƒfg¡d§d¨„ ƒZAd©dª„ ZBd™S )«ÚTestDataFrameSelectReindexzTPasses int32 values to DatetimeArray in make_na_array on windows, 32bit linux builds)Úreasonc                 C   s\  t dggƒ}tjddd�}|jddgd|d�}|jd tjddd�ksJJ ‚t dg|gd	œƒ}|d  |jd ¡|d< t ||¡ | 	d ¡ 
d¡}|jddgd|d�}|jd t d¡ks¼J ‚t dg|gd	œƒ}t ||¡ t ||tjdd
� ¡}|jddgd|d�}|jd t dd¡k�s"J ‚t dg|gd	œƒ}|d  |jd ¡|d< t ||¡ d S )Nr'   z2023-04-10 17:32z
US/Pacific)r   r   )ÚaxisÚ
fill_valueÚs)Úunitr   )r   r'   ©Úsecondszdatetime64[s, US/Pacific]Úright)r
   r6   rV   r    ÚdtypesZDatetimeTZDtyperA   r   rD   Ztz_localizeZ	to_periodZPeriodDtypeZIntervalÚ	TimedeltaZIntervalDtype)r!   r"   ÚtsÚresrE   ZperÚintervalr#   r#   r$   Útest_reindex_tzaware_fill_value†   s$    z:TestDataFrameSelectReindex.test_reindex_tzaware_fill_valuec                 C   sš   d}t tj d¡ |d |f¡ƒ}t |¡}tj d¡ |¡ |j|dd�}t |d j	|d j	¡rhJ ‚|j||j
dd�}t |d j	|d j	¡r–J ‚d S )Nr&   r   T©r-   Úcopyr   ©r-   r   rr   )r
   r   r   r   r.   ÚarangeÚshuffler    Úshares_memoryZ_valuesr   )r!   ÚNr"   Úcolsr0   Úresult2r#   r#   r$   Útest_reindex_copies¤   s    
z.TestDataFrameSelectReindex.test_reindex_copiesc                 C   sò   d}t tj d¡ |d |f¡dd�}t |¡}tj d¡ |¡ |j|dd�}|rvt |d j	j
|d j	j
¡s–J ‚n t |d j	j
|d j	j
¡r–J ‚|j||jdd�}|rÎt |d j	j
|d j	j
¡sîJ ‚n t |d j	j
|d j	j
¡rîJ ‚d S )	Nr&   r   ZFloat64©rX   Trq   r   rs   )r
   r   r   r   r.   rt   ru   r    rv   ÚarrayÚ_datar   )r!   Úusing_copy_on_writerw   r"   rx   r0   ry   r#   r#   r$   Útest_reindex_copies_ea²   s    ÿ
" "z1TestDataFrameSelectReindex.test_reindex_copies_eac                 C   s  t ddd�j dd¡}t|ddgtdƒd�}|jd	 }| ¡ }|jtd
ƒg d¢|d�}t|d  ¡ |g |d  ¡ |g |gd
 dœt	d�}t
 ||¡ |jtd
ƒ|d�}t
 ||ddg ¡ |jtd
ƒg d¢dd�}t|d  ¡ |g |d  ¡ |g |gd
 dœƒ}t
 ||¡ d S )Nú
2016-01-01r   ©r   rI   r   r2   r4   r,   ©r   r   rJ   ©r2   r4   ÚC©r   r-   re   r{   )r   re   )r   ÚvaluesZreshaper
   r5   ÚilocÚdater    ÚtolistÚobjectr   rD   )r!   Úarrr"   rm   Úfvrn   rE   r#   r#   r$   Útest_reindex_date_fill_valueÉ   s&    
,þÿ,ÿz7TestDataFrameSelectReindex.test_reindex_date_fill_valuec                 C   s^  t dgd dgd  dgd  ttdƒƒd g d¢d dœƒ dd	g¡}g d
¢}tjdg|gdd	gd�}| |¡}t dgd |tjddtjgdœƒ dd	g¡}t	 
||¡ t dgd |g d¢dœƒ dd	g¡}|j|dd�}t	 
||¡ |j|dd�}t	 
||¡ t dgd |g d¢dœƒ dd	g¡}|j|dd�}t	 
||¡ |j|dd�}t	 
||¡ d S )Néÿÿÿÿé   r   r'   rI   )r2   r4   r„   ÚDÚEÚFÚGr;   r+   r<   )ç      à?ç       @g      @g333333@)ÚnamesrJ   r„   r’   )r4   r„   r’   r“   Úbfill©ÚmethodÚbackfill)r2   r„   r’   r’   ÚpadÚffill)r
   Úlistr5   r   r   Úfrom_productr    r   rW   r   rD   )r!   r"   r/   Znew_multi_indexÚ	reindexedrE   Zreindexed_with_backfillingZreindexed_with_paddingr#   r#   r$   Útest_reindex_with_multi_indexç   sF    &
ýÿú
ÿþÿþÿþz8TestDataFrameSelectReindex.test_reindex_with_multi_indexzmethod,expected_valuesÚnearest)r   r'   r'   r   r›   r   r'   rš   )r   r'   r   r   c           
      C   s0  t dttdƒƒiƒ}t g d¢¡}t d|i|d�}|j||d�}t ||¡ |j||dd�}t ||¡ |j||g d¢d�}t ||¡ |d d d	… }|j|d d d	… |d�}t ||¡ g d
¢}|j| }|j|| |d�}t ||¡ |dkrödn|dk�rdn|}	|d d d	… j||	d�}t ||¡ d S )NÚxr3   ©gš™™™™™¹¿gÍÌÌÌÌÌì?gš™™™™™ñ?g      ø?©r   r˜   r'   ©r™   Ú	tolerance)r'   r'   r'   r'   rŽ   )rI   r   r   r'   rš   r›   )	r
   r�   r5   r   r|   r    r   rD   r‡   )
r!   r™   Zexpected_valuesr"   ÚtargetrE   ÚactualÚe2Z	new_orderZswitched_methodr#   r#   r$   Útest_reindex_methods2  s(    	
ÿz/TestDataFrameSelectReindex.test_reindex_methodsc                 C   s˜   t dttdƒƒiƒ}t g d¢¡}t ddddtjgi|d�}|j|ddd	�}t ||¡ t ddtjdtjgi|d�}|j|dg d
¢d	�}t ||¡ d S )Nr¢   r3   r£   r   r'   r¤   r¡   gš™™™™™É?r¥   )r”   g{®Gáz„?gš™™™™™Ù?gš™™™™™¹?)	r
   r�   r5   r   r|   rW   r    r   rD   )r!   r"   r§   rE   r¨   r#   r#   r$   Ú$test_reindex_methods_nearest_specialV  s    z?TestDataFrameSelectReindex.test_reindex_methods_nearest_specialc                 C   sZ   |}t dd|d�}tdttdƒƒi|d�}| d¡}|j|d d… dd�}t ||¡ d S )	Nz
2019-01-01r3   )r   r   r¢   r¤   rI   r¡   r˜   )r   r
   r�   r5   Úheadr    r   rD   )r!   Ztz_aware_fixturer   Úidxr"   rE   r¨   r#   r#   r$   Útest_reindex_nearest_tzb  s    
z2TestDataFrameSelectReindex.test_reindex_nearest_tzc                 C   sF   t  dg¡}tt  dg¡d�}t|d�}|j|dd�}t ||¡ d S )Nz2016-06-26 14:27:26+00:00z2016-07-04 14:00:59+00:00r¤   r¡   r˜   )r6   ZDatetimeIndexr
   r    r   rD   )r!   Údtir"   rE   r0   r#   r#   r$   Ú#test_reindex_nearest_tz_empty_framel  s
    
z>TestDataFrameSelectReindex.test_reindex_nearest_tz_empty_framec                 C   s�   t dddd�}ttj d¡ t|ƒ¡|dœƒ}| tdƒ¡}t 	|d j
t 
d	¡¡sXJ ‚t|ƒd }|d
d …  ¡ sxJ ‚|d d
…  ¡ rŒJ ‚d S )Nz1/1/2000 00:00:00r&   Z10s©r   r   r   ©r2   r4   é   r4   úM8[ns]éûÿÿÿ)r   r
   r   r   r   r.   Úlenr    r5   Z
issubdtyperX   r   ÚallÚany)r!   Úrngr"   r0   Úmaskr#   r#   r$   Útest_reindex_frame_add_natt  s    ÿz5TestDataFrameSelectReindex.test_reindex_frame_add_natzmethod, exp_valuesrœ   ©r   r'   r   rI   r—   g      ð?r•   g      @c                 C   s^   |g d¢t ddddd�d�}t ddddd�}|j||t d	¡d
�}|||d�}t ||¡ d S )Nr¼   z2020-01-01 00:00:00rJ   r)   ÚUTCr   r¤   z2020-01-01 00:01:00z1 hourr¥   )r   r    r6   rl   r   Zassert_equal)r!   Zframe_or_seriesr™   Z
exp_valuesÚobjr/   r0   rE   r#   r#   r$   Ú!test_reindex_frame_tz_ffill_bfill�  s    þz<TestDataFrameSelectReindex.test_reindex_frame_tz_ffill_bfillc                 C   s€   g d¢g d¢g d¢g d¢g}g d¢g d¢g d¢g d¢g d¢t jt jt jgg}t|ƒ}|jg d¢ddd�}t|ƒ}t ||¡ d S )	N)r2   r2   r2   )r4   r4   r4   )r„   r„   r„   )r�   r�   r�   )r   r'   r   rI   rJ   r3   rœ   r'   )r™   Úlimit)r   rW   r
   r    r   rD   )r!   ÚdataZexp_datar"   r0   rE   r#   r#   r$   Útest_reindex_limit�  s    úz-TestDataFrameSelectReindex.test_reindex_limitzidx, check_index_type)r„   r4   r2   T)r’   r„   r2   r�   r2   rƒ   )r„   r2   r4   r„   r4   )r4   r2   r„   r�   r’   F)r2   r„   r4   c              	      sž   t tdƒtdƒd d d… g d¢d tj d¡ ddd	¡d
œƒ‰ g d¢}‡ fdd„}t tt||ƒƒ¡}ˆ  |¡j	|dd�}ˆ j
|  |¡}tj|||d� d S )NÚ	BBBBAACCCÚ	abcdeabcdrŽ   ©r&   é   é   rI   r   r   éè  é	   ©ÚjimÚjoeÚjolieZjoline©rË   rÌ   rÍ   c                    s   t  ˆ d | k ¡ ¡d S ©NrË   r   ©r   ZnonzeroZto_numpy©Úval©r"   r#   r$   Úf¼  s    zKTestDataFrameSelectReindex.test_reindex_level_verify_first_level.<locals>.frË   ©Úlevel©Úcheck_index_type)r
   r�   r   r   r   ÚintegersÚconcatenateÚmapr   r    r‡   r   rD   )r!   r­   rØ   ÚicolrÔ   ÚiÚleftrj   r#   rÓ   r$   Ú%test_reindex_level_verify_first_level   s    
üÿz@TestDataFrameSelectReindex.test_reindex_level_verify_first_levelr­   )©Úmid)rá   Úbtm)rá   râ   Útoprà   )rá   rã   )rá   rã   râ   ©râ   )râ   rá   )râ   rá   rã   rä   )râ   rã   )râ   rã   rá   ©rã   )rã   rá   )rã   rá   râ   rå   )rã   râ   )rã   râ   rá   c                    sü   t dgd dgd  dgd  dgd d	gd
  dgd
  d	gd  dgd
  d	gd  dgd
  dgd  t dd„ dD ƒ¡tj d¡ d¡ d
¡d dœƒ‰ g d¢}‡ fdd„}t tt||ƒƒ¡}ˆ  	|¡j
|dd�}ˆ j|  	|¡}t ||¡ d S )Nrá   r3   râ   é   rã   r�   Ú3rdr   Ú1strI   Ú2ndc                 S   s$   g | ]}t j d ¡jd|dd�‘qS ©r   rÈ   F)Úreplace©r   r   r   Úchoice©Ú.0r¢   r#   r#   r$   Ú
<listcomp>ë  s   ÿz\TestDataFrameSelectReindex.test_reindex_level_verify_first_level_repeats.<locals>.<listcomp>©r   rI   rI   r   rI   r   rI   r   rÆ   r&   rÊ   rÎ   c                    s   t  ˆ d | k ¡ ¡d S rÏ   rÐ   rÑ   rÓ   r#   r$   rÔ   õ  s    zSTestDataFrameSelectReindex.test_reindex_level_verify_first_level_repeats.<locals>.frË   rÕ   )r
   r   rÚ   r   r   r.   Úroundr�   rÛ   r   r    r‡   r   rD   )r!   r­   rÜ   rÔ   rÝ   rÞ   rj   r#   rÓ   r$   Ú-test_reindex_level_verify_first_level_repeatsÄ  s>    ÿþýüûúùþÿíÿzHTestDataFrameSelectReindex.test_reindex_level_verify_first_level_repeatszidx, indexer)rè   ré   rç   )r   rI   rJ   r   r'   ræ   rÉ   r3   r   r�   r&   rH   é   é   é   é   é   r³   é   é   )rç   ré   rè   )r   r'   r   rI   rJ   r&   rH   rô   r3   r   r�   ræ   rÉ   r³   rù   rú   r÷   rø   rõ   rö   ré   rç   )r   r'   r3   r   r�   r&   rH   rô   r÷   rø   r³   rù   rú   rè   )r   r'   r   rI   rJ   r&   rH   rô   ræ   rÉ   r³   rù   rú   rõ   rö   c                 C   sÜ   t dgd dgd  dgd  dgd d	gd
  dgd
  d	gd  dgd
  d	gd  dgd
  dgd  t dd„ dD ƒ¡tj d¡ d¡ d
¡d dœƒ}g d¢}| |¡j|dd�}|j	|  |¡}t
 ||¡ d S )Nrá   r3   râ   ræ   rã   r�   rç   r   rè   rI   ré   c                 S   s$   g | ]}t j d ¡jd|dd�‘qS rê   rì   rî   r#   r#   r$   rð     s   ÿzPTestDataFrameSelectReindex.test_reindex_level_verify_repeats.<locals>.<listcomp>rñ   rÆ   r&   rÊ   rÎ   rÌ   rÕ   )r
   r   rÚ   r   r   r.   rò   r   r    r‡   r   rD   )r!   r­   Úindexerr"   rÜ   rÞ   rj   r#   r#   r$   Ú!test_reindex_level_verify_repeatsý  s:    ÿþýüûúùþÿíÿz<TestDataFrameSelectReindex.test_reindex_level_verify_repeatszidx, indexer, check_index_typeZabcde)	rI   r   r'   r   r3   rJ   ræ   r�   r   Úabcd)rI   r   r'   r   r3   ræ   r�   r   Úabc)rI   r   r'   ræ   r�   r   Zeca)r'   rI   rJ   r   ræ   Zedc)r   r'   rJ   r3   r   Zeadbc)	rI   r   r   r'   rJ   r3   ræ   r�   r   Zedwq)r   rJ   r3   Zwqc              	   C   s~   t tdƒtdƒd d d… g d¢d tj d¡ ddd	¡d
œƒ}g d¢}| |¡j|dd�}|j|  |¡}t	j
|||d� d S )NrÃ   rÄ   rŽ   rÅ   rI   r   r   rÈ   rÉ   rÊ   rÎ   rÌ   rÕ   r×   )r
   r�   r   r   r   rÙ   r   r    r‡   r   rD   )r!   r­   rû   rØ   r"   rÜ   rÞ   rj   r#   r#   r$   Útest_reindex_level_verify)  s    
üÿz4TestDataFrameSelectReindex.test_reindex_level_verifyc                 C   sX  t dddd�}tj d¡ d¡}t||tdƒd�}t||g d	¢g d
¢  tdƒd�}d}tjt	|d��  |j
|jdd� W d   ƒ n1 sŒ0    Y  tjt	|d��  |j
|jdd� W d   ƒ n1 sÊ0    Y  tjt	|d��  |j
|jdd� W d   ƒ n1 �s
0    Y  tjt	|d��  |j
|jdd� W d   ƒ n1 �sJ0    Y  d S )Nz
2013-08-01r   r4   r±   r   )r   r'   r2   ©r   r-   ©rI   rJ   r3   ©r   r'   r   z0index must be monotonic increasing or decreasing©Úmatchr›   r˜   rœ   r—   r¡   )r   r   r   r   r.   r
   r�   r_   ÚraisesÚ
ValueErrorr    r   )r!   ZdrrÁ   r"   Zdf_revÚmsgr#   r#   r$   Ú"test_non_monotonic_reindex_methodsD  s    "..0z=TestDataFrameSelectReindex.test_non_monotonic_reindex_methodsc                 C   sz   t ddgtjddgt dd¡d�dœƒ}| ddg¡}t dtjgtjdtjgt dd¡d�dœddgd	�}t ||¡ d S )
Nr   r'   rB   r{   r²   r   ç        rC   r¤   )	r
   r6   r|   ZSparseDtyper    r   rW   r   rD   ©r!   r"   r0   rE   r#   r#   r$   Útest_reindex_sparseT  s    "ÿþûz.TestDataFrameSelectReindex.test_reindex_sparsec                 C   s   t tjdtjd�tddd�d�}| |j¡}|jD ]j}||  ¡ D ]X\}}||jv rŒt 	|¡rvt 	|| | ¡sŠJ ‚qš||| | ksšJ ‚qBt 	|¡sBJ ‚qBq2| ¡ D ]\}}t
 |j|j¡ q¦| tg ƒ¡}	t|	jƒdksàJ ‚| |jd d d… ¡}
|
jD ]v}|
|  ¡ D ]d\}}||jv �r^t 	|¡�rFt 	|| | ¡�s\J ‚n||| | k�snJ ‚nt 	|¡�sJ ‚�qqü|
 ¡ D ]\}}t
 |j|
j¡ �q||j|jdd	�}|�rÄ|j |j¡�sÖJ ‚n|j|ju �sÖJ ‚| g ¡}|j�sìJ ‚t|jƒt|jƒk�sJ ‚| g ¡}| |j¡}t|jƒt|jƒk�s6J ‚t|jƒt|jƒk�sPJ ‚| t|jƒ¡}|j d ¡}t
 |j|¡ | ¡ }t
 ||¡ ||u�sœJ ‚d S )
NrÇ   r{   z
2020-01-01r�   r¤   r   r   F)rr   )r   r   rt   rC   r   r    r   r-   ÚitemsÚisnanr   r   r   r¶   Úis_Úemptyr�   Z
_with_freqrD   )r!   Úfloat_framer~   Zdatetime_seriesZnewFrameÚcolr­   rÒ   ZseriesZ
emptyFrameZnonContigFramerE   r0   r#   r#   r$   Útest_reindexc  sT    ÿ





z'TestDataFrameSelectReindex.test_reindexc                 C   s   t ddgddgddgddggdtjddgd	d
gd�}tjddtjddtjgg d¢ }}t | |¡|j| ¡ |j d¡|_tj| |¡|j| dd� t ddtjdgdtjdtjgg d¢dœƒ}t	 
|j¡|d< t	 
d¡|d   d¡|d< | g d¢¡ ¡ }|jg d¢d�}t ||¡ d S )Nr'   r   rI   r3   r�   rH   rÉ   r(   rÌ   rË   r   )r'   rI   rI   r'   r   r   r'   rŠ   Fr×   r+   r<   r=   z
2015-03-22z
2012-01-08)r   rI   rJ   r3   )Úotherrˆ   Úamountrˆ   z
2015-06-18Údelta)r  r  rˆ   )r  r  rˆ   r  r>   )r
   r   rW   r   rD   r    r‡   r   rA   r6   Úto_datetimerˆ   Úshiftr   r8   )r!   r"   rÝ   ÚjrÞ   rj   r#   r#   r$   Útest_reindex_nan§  s(    ý"ýÿz+TestDataFrameSelectReindex.test_reindex_nanc                 C   sà   t tj d¡ d¡ƒ}t|t t|ƒ¡d�}t t d¡dd�}| |¡}|jj	dksXJ ‚| t
t d¡dd�¡}|jj	dks€J ‚t tj d¡ d¡ƒ}t|jt t|ƒ¡d�}t t d¡dd�}|j|d�}|jj	dksÜJ ‚d S )Nr   r&   r¤   Ziname©ÚnameZtmpnamer>   )r   r   r   r   r
   rt   r¶   r    r   r  r   ÚTr-   )r!   rf   r"   rÝ   r#   r#   r$   Útest_reindex_name_remainsÄ  s    
z4TestDataFrameSelectReindex.test_reindex_name_remainsc                 C   sr   |  |jd d d… ¡}|d jtjks*J ‚|  |j¡}|d jtjksJJ ‚|j ddgd�}|d jtjksnJ ‚d S )Nr   r2   r4   r>   )r    r   rX   r   rB   rC   )r!   Ú	int_frameÚsmallerZbiggerr#   r#   r$   Útest_reindex_intÕ  s    z+TestDataFrameSelectReindex.test_reindex_intc                 C   s`   |j g d¢d�}t |d |d ¡ t |d ¡ ¡ s:J ‚d|vsFJ ‚|j g d�}|js\J ‚d S )N©r2   r4   r‘   r>   r4   r‘   r„   )r    r   Zassert_series_equalr   r  r·   r  )r!   r  Z	new_framer#   r#   r$   Útest_reindex_columnsà  s    z/TestDataFrameSelectReindex.test_reindex_columnsc              	   C   sj  t g d¢g d¢g d¢gg d¢g d¢td�}|jtdƒd�}t tjdd	tjd
tjgtjddtjdtjgtjddtjdtjggg d¢tdƒtd�}t ||¡ |jtdƒdd�}t tjdd	d	d
d
gtjdddddgtjdddddggg d¢tdƒtd�}t ||¡ |jtdƒdd�}t ddd	d
d
tjgdddddtjgdddddtjggg d¢tdƒtd�}t ||¡ d S )N)rH   rô   rõ   )é   é   r(   )é   é    é!   )r'   r   rJ   )rÁ   r   r-   rX   r   r>   rH   rô   rõ   r#  r$  r(   r%  r&  r'  rœ   )r-   r™   r—   )r
   Úfloatr    r5   r   rW   r   rD   r
  r#   r#   r$   Útest_reindex_columns_methodë  sN    üýø
ýø
ýø
z6TestDataFrameSelectReindex.test_reindex_columns_methodc                 C   s¢   t t d¡tdddƒtdddƒtdddƒgg d¢d�}tdd	d
d�}ddg}|j|d�jj}|j||d�jj}|j|d�j|d�jj}||ks’J ‚||ksžJ ‚d S )N©rI   rI   iÜ  r'   r   rI   r;   r   ú
2012-01-01z
2012-01-03r?   )r   r+   r<   r¤   r>   )r
   r   Úonesr   r   r    r   r   )r!   r"   Z	time_freqZ	some_colsZ
index_freqZ	both_freqZseq_freqr#   r#   r$   Útest_reindex_axes  s     ýz,TestDataFrameSelectReindex.test_reindex_axesc                 C   s>  t tj d¡ d¡ƒ}| ttdƒƒ¡}t |j	dd … ¡ 
¡ sDJ ‚|jtdƒdd�}| tdƒ¡ d¡}t ||¡ |jtdƒdd	�}| ¡ }d|d
< t ||¡ |jtdƒdd	�}| ¡ }d|d
< t ||¡ |jtdƒdd	�}| ¡ }d|d
< t ||¡ d|d< |jtdƒdd�}| tdƒ¡ d¡}t ||¡ d S )Nr   )r&   rJ   r³   rµ   r   )re   r3   r	  )r-   re   rJ   ÚfooÚ0)r
   r   r   r   r.   r    r�   r5   r  r†   r·   Zfillnar   rD   rr   r
  r#   r#   r$   Útest_reindex_fill_value.  s,    z2TestDataFrameSelectReindex.test_reindex_fill_valuec                 C   s`   t ddgddgdœ|d�}|jtdƒg d¢dd�}t g d	¢g d	¢ddd
œ|d�}t ||¡ d S )Nr'   r   ©r+   r<   r{   rý   r¼   r&   ©r-   r   re   )r'   r   r&   r&   r@   )r
   r    r�   r   rD   )r!   Zany_unsigned_int_numpy_dtyper"   r0   rE   r#   r#   r$   Ú#test_reindex_uint_dtypes_fill_valueO  s    þz>TestDataFrameSelectReindex.test_reindex_uint_dtypes_fill_valuec                 C   sV   t dddgi|d�}|jtdƒg d¢dd�}t tg d	¢|d�dd
œƒ}t ||¡ d S )Nr+   r'   r   r{   Úabr  r&   r2  )r'   r   r&   r1  )r
   r    r�   r   r   rD   )r!   Zany_numeric_ea_dtyper"   r0   rE   r#   r#   r$   Ú/test_reindex_single_column_ea_index_and_columnsY  s    ÿzJTestDataFrameSelectReindex.test_reindex_single_column_ea_index_and_columnsc                 C   s®   t j d¡ d¡}t|g d¢d�}| ¡ }ttt|ƒƒƒ|_	t|ttt|ƒƒƒd�}t
 ||¡ d}tjt|d��( |jttt|ƒƒƒd� W d   ƒ n1 s 0    Y  d S )Nr   r&   )
r'   r   rI   rJ   r3   r'   r   rI   rJ   r3   r¤   ú/cannot reindex on an axis with duplicate labelsr  )r   r   r   r.   r
   rr   r�   r5   r¶   r   r   rD   r_   r  r  r    )r!   r‹   r"   r0   rE   r  r#   r#   r$   Útest_reindex_dupsb  s    z,TestDataFrameSelectReindex.test_reindex_dupsc                 C   s¤   t g d¢g d¢g d¢gg d¢d�}d}tjt|d�� |jdgd� W d   ƒ n1 sX0    Y  tjt|d��  |jddgd� W d   ƒ n1 s–0    Y  d S )N)r'   r3   g      @)Úbarr+   r+   r>   r6  r  r8  r.  )r
   r_   r  r  r    ©r!   r"   r  r#   r#   r$   Ú#test_reindex_with_duplicate_columnsr  s    ÿ,z>TestDataFrameSelectReindex.test_reindex_with_duplicate_columnsc                 C   s–   t g d¢g d¢dœƒ}t ddtjgddtjgdœg d¢d	�}| g d¢¡}t ||¡ |jg d¢d
d�}t ||¡ |jg d¢dd�}t ||¡ d S )N©r'   r   rI   ©rJ   r3   r   r²   r'   r   rJ   r3   )r   r'   rI   r¤   r   ©rd   r   )r
   r   rW   r    r   rD   )r!   r"   rE   r0   r#   r#   r$   Útest_reindex_axis_style}  s    ÿz2TestDataFrameSelectReindex.test_reindex_axis_stylec                 C   s`   t g d¢g d¢dœƒ}d}tjt|d��$ | ddgg d¢¡ W d   ƒ n1 sR0    Y  d S )	Nr;  r<  r²   zCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenr  r   r'   rƒ   ©r
   r_   r  Ú	TypeErrorr    r9  r#   r#   r$   Útest_reindex_positional_raisesŒ  s    z9TestDataFrameSelectReindex.test_reindex_positional_raisesc                 C   sÀ  t g d¢g d¢dœƒ}tjtdd��& |jddgdgdd	� W d   ƒ n1 sP0    Y  tjtdd��& |jddgdgd
d	� W d   ƒ n1 s”0    Y  tjtdd��" |jddgd
d� W d   ƒ n1 sÔ0    Y  tjtdd��" |jddgdd� W d   ƒ n1 �s0    Y  tjtdd��" |jddgdd	� W d   ƒ n1 �sX0    Y  tjtdd��( |jddgddgdd� W d   ƒ n1 �s 0    Y  tjtdd��( |jddgdgdgd� W d   ƒ n1 �sè0    Y  tjtdd��" |jddgd
d� W d   ƒ n1 �s*0    Y  tjtdd��" |jddgdd� W d   ƒ n1 �sl0    Y  tjtdd��& |jddgddgd� W d   ƒ n1 �s²0    Y  d S )Nr;  r<  r²   zCannot specify both 'axis'r  r   r'   r2   )r-   rd   r   )r   rd   r-   )r   r-   rd   zCannot specify all)Úlabelsr   r-   zmultiple values©rB  r?  )r!   r"   r#   r#   r$   Útest_reindex_axis_style_raises”  s*    440228822z9TestDataFrameSelectReindex.test_reindex_axis_style_raisesc                 C   sJ   t g d¢g d¢dœƒ}|jddgdgd�}t dddgiƒ}t ||¡ d S )Nr;  r²   r   r'   r2   r>   r   ©r
   r    r   rD   r
  r#   r#   r$   Ú!test_reindex_single_named_indexer·  s    z<TestDataFrameSelectReindex.test_reindex_single_named_indexerc                 C   sR  t g d¢g d¢g d¢gg d¢g d¢d�}| ddg¡}|jddgd	�}|jddgd
�}|jddgdd�}|jddgdd�}||||fD ]}t ||¡ q†|jddgd�}|jddgdd�}|jddgdd�}||fD ]}t ||¡ qÔ|jddgddgd�}|jddgddgd�}|jddgdd�jddgdd�}||fD ]}t ||¡ �q:d S )Nr;  r  )r3   r   r�   r;   )r?   ÚerÔ   r   r<   r+   r¤   rC  r   )rB  rd   r=  rG  r?   r>   r'   r,   rE  )r!   r"   Zres1Zres2Zres3Zres4Zres5rn   r#   r#   r$   Útest_reindex_api_equivalence¾  s,    ý z7TestDataFrameSelectReindex.test_reindex_api_equivalencec                 C   s–   t tjdtd�t ddd¡ddgd�}| t d¡¡}|jjtjksHJ ‚t	|d d ƒs\J ‚|jt
d	ƒd
�}|jjtjks~J ‚t	|d ƒ ¡ s’J ‚d S )N)r&   r   r{   r   rÆ   r   r   r&   r'   rI   r>   )r
   r   r,  Úboolrt   r    r†   rX   Zobject_r   r5   r·   )r!   ÚframerŸ   r#   r#   r$   Útest_reindex_booleanÛ  s    ÿz/TestDataFrameSelectReindex.test_reindex_booleanc                 C   s<   |j g d¢d�}d|v sJ ‚|j ddgd�}d|vs8J ‚d S )N)r.  r2   r4   r>   r.  r2   r4   )r    )r!   Zfloat_string_framerŸ   r#   r#   r$   Útest_reindex_objectsè  s    z/TestDataFrameSelectReindex.test_reindex_objectsc                 C   sb   t g d¢ƒ}ti ƒjg d¢d�}|j|d�}t |j|¡ |jg d¢d�}|d jtjks^J ‚d S )Nr;   r;  r¤   r>   r!  r‘   )	r   r
   r    r   r   r-   rX   r   rC   )r!   r  r   ÚdmrŸ   r  r#   r#   r$   Útest_reindex_cornerï  s    z.TestDataFrameSelectReindex.test_reindex_cornerc                 C   sº   t ddgddgtjtjgddgddggd	d
gddtjddgd�}|jg d¢d�}|jg d¢ }t ||¡ |jdgd�}|jdg }t ||¡ |jdgd�}|jdg }t ||¡ d S )Nr'   r   rI   rJ   r�   ræ   rÉ   r&   r+   r<   g      Y@ç     @Y@ç     €Y@ç     ÀY@r,   )rO  rP  rQ  r¤   )r'   rI   rJ   )r
   r   rW   r    r‡   r   rD   r
  r#   r#   r$   Útest_reindex_with_nansù  s    $ýz1TestDataFrameSelectReindex.test_reindex_with_nansc                 C   sh  t tj d¡ d¡ƒ}|jtdƒtdƒd�}| ttdƒƒ¡jtdƒd�}t 	||¡ t tj d¡ 
ddd¡ƒ}|jtdƒtdƒd�}| ttdƒƒ¡jtdƒd�}t 	||¡ t tj d¡ 
ddd¡ƒ}|jtdƒtdƒd�}| tdƒ¡jtdƒd�}t 	||¡ t tj d¡ d¡d	 g d
¢d�}|jddgddgd�}| ddg¡jddgd�}t 	||¡ d S )Nr   r*  rJ   r   r>   r   r&   )r3   rI   y              ð?r;   r'   r+   r<   )r
   r   r   r   r.   r    r5   r�   r   rD   rÙ   r
  r#   r#   r$   Útest_reindex_multi  s&    þz-TestDataFrameSelectReindex.test_reindex_multic                 C   sˆ   t  tg d¢ƒttdddd�ƒg¡}tdtt|ƒƒi|d�}|jg d¢ }| |¡}tdd	d
dddddt	j
dg	i|d�}t ||¡ d S )Nr;   r+  rI   r)   r±   r+   r¤   )r   r'   r   rI   rJ   r3   r   ræ   r   r'   r   rJ   r3   r   ræ   )r   rž   r   r   r
   r5   r¶   r‡   r    r   rW   r   rD   )r!   Zmidxr"   rF   r0   rE   r#   r#   r$   Ú#test_reindex_multi_categorical_time,  s    
þÿ
$z>TestDataFrameSelectReindex.test_reindex_multi_categorical_timec                 C   s‚  t dtjddd�ittdƒttdƒƒdd�d	�}| g d
¢¡}t ddtjgttdƒƒdœƒ 	d¡}t
j||dd� | ddg¡}t ddgttdƒƒdœƒ 	d¡}t
j||dd� | dg¡}t tjgtdgƒdœƒ 	d¡}t
j||dd� | dg¡}t tjgtdgƒdœƒ 	d¡}t
j||dd� tdƒ}| tddg|d�¡}t dtjgttdƒƒ t|ƒ¡dœƒ 	d¡}t
j||dd� | tdg|d�¡}t dgttdƒƒ t|ƒ¡dœƒ 	d¡}t
j||dd� | g d
¢¡}t ddtjgttdƒƒdœƒ 	d¡}t
j||dd� | ddg¡}t ddgttdƒƒdœƒ 	d¡}t
j||dd� | dg¡}t tjgtdgƒdœƒ 	d¡}t
j||dd� | tddg|dd�¡}t dtjgttdƒƒ t|dd�¡dœƒ 	d¡}t
j||dd� | tddgddgd�¡}t dtjgttdƒƒ tddgƒ¡dœƒ 	d¡}t
j||dd� t dtjddd�ittdƒttdƒƒdd�d	�}d}tjt|d�� | ddg¡ W d   ƒ n1 �sž0    Y  d}tjt| d ¡d��  |jdgd!d"� W d   ƒ n1 �sè0    Y  tjt| d#¡d��  |jdgdd$� W d   ƒ n1 �s.0    Y  tjt| d%¡d��  |jdgd&d'� W d   ƒ n1 �st0    Y  d S )(Nr2   rI   rB   r{   rþ   Zcaber4   )rX   r  r¤   )r+   r<   rG  r   r'   Zaber²   Tr×   r+   r<   r4  rG  r?   ©Ú
categoriesZae)rV  Úordered)rW  Úadr   Zaabbcar6  r  z<argument {} is not implemented for CategoricalIndex\.reindexr™   rœ   r˜   rÖ   rÕ   rÀ   r   )rÀ   )r
   r   rt   r	   r�   r   r    rW   r   r   r   rD   r   rA   r_   r  r  ÚNotImplementedErrorÚformat)r!   r"   r0   rE   ZcatsrF   r  r#   r#   r$   Ú"test_reindex_with_categoricalindex;  s¤    ÿÿüÿ  ÿþÿþÿ þÿûþÿûÿÿü	.00z=TestDataFrameSelectReindex.test_reindex_with_categoricalindexc                 C   s*   t  tj¡}t|jƒ}|h d£ks&J ‚d S )N>   re   rd   r   rB  r-   rÀ   rr   r™   r!   rÖ   r¦   )ÚinspectÚ	signaturer
   r    ÚsetÚ
parameters)r!   Úsigr_  r#   r#   r$   Útest_reindex_signature   s    
z1TestDataFrameSelectReindex.test_reindex_signaturec                 C   s~   t  ddg¡}tddgddgg|ddgd	�}t  g d
¢¡}|j|ddd�}tddgddgddgg|ddgd	�}t ||¡ d S )Nr1  ©r?   rG  r   r�   rI   rJ   r¢   Úyr   )r1  rb  )r)   rÝ   rœ   )rd   r™   )r   Úfrom_tuplesr
   r    r   rD   )r!   Úmir"   Zmi2r0   rE   r#   r#   r$   Ú(test_reindex_multiindex_ffill_added_rows±  s    $zCTestDataFrameSelectReindex.test_reindex_multiindex_ffill_added_rowsÚkwargsrÉ   rh   r¥   r™   Nc                 C   sb   t dddd�}tg tg dd�dgd�}|j|fi |¤Ž}tdtjgd i|td	�}t ||¡ d S )
NZ2020Z30srI   )Ústartr   r   Útimer  r+   r   )r   rX   )	r   r
   r   r    r   rW   rŠ   r   rD   )r!   rg  r­   r"   r0   rE   r#   r#   r$   Útest_reindex_empty_frame»  s
    z3TestDataFrameSelectReindex.test_reindex_empty_frameÚsrc_idxÚcat_idxc                 C   s<   t |dgdd�}|j|d�}t dg|dd�}t ||¡ d S )NÚKZf8)r-   r   rX   r>   )r   r-   rX   rE  )r!   rk  rl  r"   r0   rE   r#   r#   r$   Útest_reindex_emptyÌ  s    z-TestDataFrameSelectReindex.test_reindex_emptyrX   úm8[ns]r´   c                 C   sR  t  tdƒtdƒg¡}tddd�}t dd¡}|dkrN||d	  }t dd¡}t||d
�}t	j
|d d d…< | ¡ }|j tdgƒ¡}|j tdgƒ¡}|j|||d�}	t|d	  ¡ |g |d  ¡ |g tjdgd |jd�dœ|d
�}
|	jd	dg tk ¡ �sJ ‚|	jd t	j
u �sJ ‚|	jd |u �s.J ‚|	jd |u �sBJ ‚t |	|
¡ d S )NZABCDEr   r€   r&   r�   ÚNaTÚnsro  r   r¤   rI   r'   r.  r…   r   r{   )r   r'   r.  r‚   )rŽ   r   )rŽ   r'   )r   rž   r�   r5   r   r   Ztimedelta64Z
datetime64r   r6   rp  Zunstackr   Úappendr   r-   r    r
   r‰   r|   rX   rk   rŠ   r·   r‡   r   rD   )r!   rX   re  r¯   rŒ   r9   r"   r   r-   rn   rE   r#   r#   r$   Ú#test_reindex_datetimelike_to_objectç  s0    ýúz>TestDataFrameSelectReindex.test_reindex_datetimelike_to_objectzindex_df,index_res,index_exprU  c                 C   s0   t |d�}|j|d�}t |d�}t ||¡ d S )Nr¤   rE  )r!   Zindex_dfZ	index_resZ	index_expr"   r0   rE   r#   r#   r$   Útest_reindex_not_category
  s    

z4TestDataFrameSelectReindex.test_reindex_not_categoryc                 C   s\   t ddtjdgiƒ}d}tjt|d��" |jg d¢dd� W d   ƒ n1 sN0    Y  d S )	Nr2   r'   r   zInvalid fill methodr  )r'   r   r   Zasfreqr˜   )r
   r   rW   r_   r  r  r    r9  r#   r#   r$   Útest_invalid_method*  s    z.TestDataFrameSelectReindex.test_invalid_method)Cr\   r]   r^   r_   r`   Zxfailr   r   r   ÚtdZ&skip_array_manager_not_yet_implementedrp   rz   r   r�   r    ra   r   rW   rª   r«   r®   r°   r»   r¿   rÂ   rß   ró   rü   r�   rÿ   r  r  r  r  r  r   r"  r)  r-  r0  r3  r5  r7  r:  r>  rA  rD  rF  rH  rK  rL  rN  rR  rS  rT  r[  ra  rf  r   rj  r   r	   rn  rs  rt  ru  r#   r#   r#   r$   rb   ‚   s4  þ
K

ýþ

þ










ôþ
þ
"þþöþ
øþ
D3!
	#
 e
üþ	
þþ



øþ
"ýýýýðþ
rb   )#r   r   r\  Únumpyr   r_   Zpandas._libs.tslibs.timezonesr   rU   Zpandas.compatr   r   Zpandas.compat.numpyr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrv  Zpandasr6   r   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingr   Zpandas.api.typesr   r   rb   r#   r#   r#   r$   Ú<module>   s   (
a