o
    gݖ                     @   s   d dl m Z mZ d dlZd dlmZ d dlZd dl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 d dlm  mZ G dd dZG dd	 d	ZdS )
    )datetime	timedeltaN)permutations)CategoricalCategoricalIndex	DataFrameIndex
MultiIndexSeries
date_rangeisna)CategoricalDtypec                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TestReindexSetIndexc                 C   sd   t tjd}tddddd}tddddd}||}t|j| ||}t|j| d S )	N   z
2011/01/01M
US/Easternperiodsfreqtz2013Az
Asia/Tokyo)	r   nprandomr   	set_indextmassert_index_equalindexreindex)selfdfidx1idx2 r#   e/home/ubuntu/cloudmapper/venv/lib/python3.10/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      acolumnsr      )	r   r   r   r   r   randnr   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 )Nr   r&      B)r   rangepdcutr   r   reset_index)r   r    serr#   r#   r$   "test_set_reset_index_intervalindex6   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    df1r1   expecteddf2r#   r#   r$   test_setitem_reset_index_dtypes?   s   z3TestReindexSetIndex.test_setitem_reset_index_dtypesN)__name__
__module____qualname__r%   r2   r:   rG   r#   r#   r#   r$   r      s
    	r   c                   @   sB  e Zd Z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d"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; 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+ejdXde,dYdZd[de,dYdZd[d\did\d]igd^d_ Z-ejd`e.g e/g gejdae.g e/g e.dbdcge/dbdcge.dbdbge/dbdbggddde Z0ejdfdgdhgdidj Z1d]S )kTestDataFrameSelectReindexc                 C   s   t dddjdd}t|ddgtdd}|jd	 }| }tt	 |j
td
g d|d}W d    n1 s;w   Y  t|d  |g |d  |g |gd
 d}t|| |j
td
g ddd}t|| d S )N
2016-01-01r   r      r.   r   r4   r,   r   r      r   r4   Cr   r-   
fill_value)r   valuesreshaper   r5   ilocdater   assert_produces_warningFutureWarningr   tolistrC   )r   arrr    tsfvresrE   r#   r#   r$   test_reindex_date_fill_valueV   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'   rN   )r   r4   rR   DEFGr;   r+   r<   )      ?       @g      @g333333@)namesrP   rR   re   )r4   rR   re   rf   bfillmethodbackfill)r   rR   re   re   padffill)r   listr5   r   r	   from_productr   r   nanr   rC   )r   r    r0   new_multi_index	reindexedrE   reindexed_with_backfillingreindexed_with_paddingr#   r#   r$   test_reindex_with_multi_indexl   sF   &





z8TestDataFrameSelectReindex.test_reindex_with_multi_indexzmethod,expected_valuesnearest)r   r'   r'   r.   rn   r   r'   rm   )r   r'   r.   r.   c           
      C   s.  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rdn|}	|d d d	 j||	d}t|| d S )Nxr3   gg?g?g      ?r   rk   r'   rl   	tolerance)r'   r'   r'   r'   ra   )rN   r   r.   r'   rm   rn   )	r   rp   r5   r   arrayr   r   rC   rW   )
r   rl   expected_valuesr    targetrE   actuale2	new_orderswitched_methodr#   r#   r$   test_reindex_methods   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 )Nry   r3   rz   r   r'   r{   rx   g?r|   )rg   g{Gz?g?g?)	r   rp   r5   r   r~   rr   r   r   rC   )r   r    r   rE   r   r#   r#   r$   $test_reindex_methods_nearest_special   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   ry   r{   rN   rx   rk   )r   r   rp   r5   headr   r   rC   )r   tz_aware_fixturer   idxr    rE   r   r#   r#   r$   test_reindex_nearest_tz   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{   rx   rk   )r6   DatetimeIndexr   r   r   rC   )r   dtir    rE   r1   r#   r#   r$   #test_reindex_nearest_tz_empty_frame   s
   
z>TestDataFrameSelectReindex.test_reindex_nearest_tz_empty_framec                 C   s   t dddd}ttjt||d}|td}t|d j	t	ds)J t
|d }|d	d   s:J |d d	  rDJ d S )
Nz1/1/2000 00:00:00r&   10sr   r   r   r4      r4   M8[ns])r   r   r   r   r/   lenr   r5   
issubdtypedtypecomr   allany)r   rngr    r1   maskr#   r#   r$   test_reindex_frame_add_nat   s   z5TestDataFrameSelectReindex.test_reindex_frame_add_natzmethod, exp_valuesro   r   r'   r.   rN   rj         ?rh   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:00rP   r)   UTCr   r{   z2020-01-01 00:01:00z1 hourr|   )r   r   r6   	Timedeltar   assert_equal)r   frame_or_seriesrl   
exp_valuesobjr0   r1   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)r   r   r   )r4   r4   r4   )rR   rR   rR   )rc   rc   rc   )r   r'   r.   rN   rP   r3   ro   r'   )rl   limit)r   rr   r   r   r   rC   )r   dataexp_datar    r1   rE   r#   r#   r$   test_reindex_limit  s   z-TestDataFrameSelectReindex.test_reindex_limitc              
      s  g d dD fdd	}dD fdd	}t tdtdd d d	 g d
d tjdddd}g dg ddgg dg dddgddgddgg dg	}|D ]}||d| qLddgg dfD ]
}||d|dd q]||dtdg d  ||dtd!g d" ||dtd#g d$ ||dtd%g d& ||dtd'g d( ||dtd)g d* ||dtd+g d, ||dtd-g dd t d.gd/ d0gd1  d2gd3  d4gd5 d6gd  d7gd  d6gd5  d4gd  d6gd5  d4gd  d7gd5  td8d9 d:D tjd;dd< d}t|d 	 D ]}t
dD ]}||d|d |d=   qqg d>}||dg d?| g d@}||dg dA| g dB}||dd7d4g| g dC}||dd4d6g| d S )EN)jimjoejolieTc                    sZ    fdd}t tt||} j|d} j| }tj|||d d S )Nc                    s   t   | k d S )Nr   )r   nonzeroto_numpy)valr    levelr#   r$   f'  s   zTTestDataFrameSelectReindex.test_reindex_level.<locals>.verify_first_level.<locals>.fr   check_index_type)	r   concatenaterp   mapr   r   rW   r   rC   )r    r   r   r   r   ileftrighticolr   r$   verify_first_level&  s
   zITestDataFrameSelectReindex.test_reindex_level.<locals>.verify_first_levelc                    s8   |   j||d}| j|   }tj|||d d S )Nr   r   )r   r   rW   r   rC   )r    r   r   indexerr   r   r   r   r#   r$   verify/  s   z=TestDataFrameSelectReindex.test_reindex_level.<locals>.verify	BBBBAACCC	abcdeabcdra   )r&         rN   r     	   )r   r   r   joline)rR   r4   r   )re   rR   r   rc   r   rQ   )rR   r   r4   rR   r4   )r4   r   rR   r   rc   re   )r   rR   r4   Fr   r   abcde)	rN   r.   r'   r   r3   rP      rb   r   abcd)rN   r.   r'   r   r3   r   rb   r   abc)rN   r.   r'   r   rb   r   eca)r'   rN   rP   r   r   edc)r   r'   rP   r3   r   eadbc)	rN   r   r.   r'   rP   r3   r   rb   r   edwq)r   rP   r3   wqmidr3   btmr   toprb   3rdr.   1st2ndc                 S   s   g | ]}t jjd |ddqS )r   F)replace)r   r   choice).0ry   r#   r#   r$   
<listcomp>h  s    zATestDataFrameSelectReindex.test_reindex_level.<locals>.<listcomp>)r.   rN   rN   r.   rN   r.   rN   r.   r   r&   r'   )r.   rN   rP   r   r'   r   r   r3   r   rb   r&                     r         )r   r   r   )r   r'   r.   rN   rP   r&   r   r   r3   r   rb   r   r   r   r   r   r   r   r   r   )r   r   r   )r   r'   r3   r   rb   r&   r   r   r   r   r   r   r   )r   r'   r.   rN   rP   r&   r   r   r   r   r   r   r   r   r   )T)r   rp   r   r   randintr   r/   roundr   uniquer5   )r   r   r   r    r   r   r   r#   r   r$   test_reindex_level#  s   	

z-TestDataFrameSelectReindex.test_reindex_levelc                 C   sR  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 sDw   Y  tjt|d |j	|j
dd W d    n1 scw   Y  tjt|d |j	|j
dd W d    n1 sw   Y  tjt|d |j	|j
dd W d    d S 1 sw   Y  d S )Nz
2013-08-01r   r4   r   r'   r   r   r-   rN   rP   r3   )r   r'   r.   z0index must be monotonic increasing or decreasingmatchrn   rk   ro   rj   rx   )r   r   r   r/   r   rp   pytestraises
ValueErrorr   r   )r   drr   r    df_revmsgr#   r#   r$   "test_non_monotonic_reindex_methods  s"   ""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'   rA   r   r   r.           rB   r{   )	r   r6   r~   SparseDtyper   r   rr   r   rC   r   r    r1   rE   r#   r#   r$   test_reindex_sparse  s   "z.TestDataFrameSelectReindex.test_reindex_sparsec                 C   sb  t jdd}||j}|jD ]5}||  D ],\}}||jv r<t|r1t|| | s0J q||| | ks;J qt|sCJ qq| D ]\}}t |j|jsWJ qI|t	g }t
|jdkshJ ||jd d d }	|	jD ]5}|	|  D ],\}}||jv rt|rt|| | sJ q~||| | ksJ q~t|sJ q~qv|	 D ]\}}t |j|	jsJ q|j|jdd}|j|ju sJ |g }|jsJ t
|jt
|jksJ |g }||j}t
|jt
|jksJ t
|jt
|jks	J |t|j}|jd }
t |j|
 | }t || ||us/J d S )Nr   )nperr   r.   F)copy)r   makeTimeSeriesr   r   r-   itemsr   isnanequalContentsr   r   emptyrp   
_with_freqr   rC   )r   float_framedatetime_seriesnewFramecolr   r   series
emptyFramenonContigFramerE   r1   r#   r#   r$   test_reindex  sP   


	


	


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.   rN   r3   rb   r   r   r(   r   r   r   )r'   rN   rN   r'   r.   r   r'   objectFr   r+   r<   r=   z
2015-03-22z
2012-01-08)r.   rN   rP   r3   )otherrX   amountrX   z
2015-06-18delta)r	  r  rX   )r	  r  rX   r  r>   )r   r   rr   r   rC   r   rW   r   r@   r6   to_datetimerX   shiftr   r8   )r   r    r   jr   r   r#   r#   r$   test_reindex_nan  s(   "z+TestDataFrameSelectReindex.test_reindex_nanc                 C   s   t tjd}t|tt|d}t tddd}||}|jj	dks)J |t
tddd}|jj	dks=J t tjd}t|jtt|d}t tddd}|j|d}|jj	dkshJ d S )Nr&   r{   inamenametmpnamer>   )r
   r   r   randr   aranger   r   r   r  r   Tr-   )r   sr    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s%J |j ddgd}|d jtjks7J d S )Nr.   r   r4   r>   )r   r   r   r   rA   rB   )r   	int_framesmaller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s#J |j g d}|js.J d S )Nr   r4   rd   r>   r4   rd   rR   )r   r   assert_series_equalr   r   r   r   )r   r   	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)r   r   r   )      r(   )       !   )r'   r.   rP   )r   r   r-   r   r   r>   r   r   r   r  r   r(   r!  r"  r#  ro   )r-   rl   rj   )r   floatr   r5   r   rr   r   rC   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sIJ ||ksOJ d S )NrN   rN   i  r'   r.   rN   r;   r   
2012-01-01z
2012-01-03r?   )r   r+   r<   r{   r>   )r   r   onesr   r   r   r   r   )r   r    	time_freq	some_cols
index_freq	both_freqseq_freqr#   r#   r$   test_reindex_axesW  s    z,TestDataFrameSelectReindex.test_reindex_axesc                 C   s:  t tjdd}|ttd}t|jdd  	 s J |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&   rP   r   r   r   )rT   r3   r   )r-   rT   foo)r   r   r   r/   r   rp   r5   r   rU   r   fillnar   rC   r   r   r#   r#   r$   test_reindex_fill_valueg  s,   z2TestDataFrameSelectReindex.test_reindex_fill_valuec                 C   s   t j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    d S 1 sNw   Y  d S )Nr&   )
r'   r.   rN   rP   r3   r'   r.   rN   rP   r3   r{   $cannot reindex from a duplicate axisr   )r   r   r/   r   r   rp   r5   r   r   r   rC   r   r   r   r   )r   r\   r    r1   rE   r   r#   r#   r$   test_reindex_dups  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 s,w   Y  tjt|d |jddgd W d    d S 1 sLw   Y  d S )N)r'   r3   g      @)barr+   r+   r>   r2  r   r4  r/  )r   r   r   r   r   )r   r    r   r#   r#   r$   #test_reindex_with_duplicate_columns  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.   rN   rP   r3   r   r   r'   r.   rP   r3   )r   r'   rN   r{   r   axisr   )r   r   rr   r   r   rC   r   r    rE   r1   r#   r#   r$   test_reindex_axis_style  s   z2TestDataFrameSelectReindex.test_reindex_axis_stylec                 C   s   t g dg dd}t ddgddgtjtjgd}tt |d	d
gg d}W d    n1 s5w   Y  t|| d S )Nr6  r7  r   r   r.   g      @r3   rQ   r   r'   )r   r   rr   r   rY   rZ   r   rC   r:  r#   r#   r$   test_reindex_positional_warns  s    z8TestDataFrameSelectReindex.test_reindex_positional_warnsc                 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 s(w   Y  tjtdd |jddgdgd
d	 W d    n1 sJw   Y  tjtdd |jddgd
d W d    n1 sjw   Y  tjtdd |jddgdd W d    n1 sw   Y  tjtdd |jddgdd W d    n1 sw   Y  tjtdd |jddgddgdd W d    n1 sw   Y  tjtdd |ddgdgdg W d    n1 sw   Y  tjtdd |jddgd
d W d    n	1 sw   Y  tjtdd |jddgdd W d    n	1 s1w   Y  tjtdd |jddgddgd W d    d S 1 sUw   Y  d S )Nr6  r7  r   zCannot specify both 'axis'r   r   r'   r   r8  r   )r   r9  r-   )r-   r9  )r   r-   r9  zCannot specify allzmultiple valueslabels)r   r   r   	TypeErrorr   )r   r    r#   r#   r$   test_reindex_axis_style_raises  s>   $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 )Nr6  r   r   r'   r   r>   r.   r   r   r   rC   r   r#   r#   r$   !test_reindex_single_named_indexer  s   z<TestDataFrameSelectReindex.test_reindex_single_named_indexerc           	      C   s  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|| qC|jddgd}|jddgdd}|jddgdd}||fD ]}t|| qjtt}|ddgddg}W d    n1 sw   Y  dt|d jv sJ |jddgddgd}|jddgddjddgdd}||fD ]}t|| qd S )Nr6  r   )r3   r   rb   r;   )r?   er   r   r<   r+   r{   r=  r   )r>  r9  r8  rC  r?   r>   r'   r   r,   )r   r   r   rC   rY   rZ   strmessage)	r   r    res1res2res3res4res5r_   mr#   r#   r$   test_reindex_api_equivalence  s4    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s$J t	|d d s.J |jt
d	d
}|jjtjks?J t	|d  sIJ d S )N)r&   r.   r   r   r   r.   r   r&   r'   rN   r>   )r   r   r(  boolr  r   rU   r   object_r   r5   r   )r   framert   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sJ d S )N)r/  r   r4   r>   r/  r   r4   )r   )r   float_string_framert   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;   r6  r{   r>   r  rd   )	r   r   r   r   r   r-   r   r   rB   )r   r  r   dmrt   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.   rN   rP   rb   r   r   r&   r+   r<   g      Y@     @Y@     Y@     Y@r,   )rU  rV  rW  r{   )r'   rN   rP   )r   r   rr   r   rW   r   rC   r   r#   r#   r$   test_reindex_with_nans$  s   $z1TestDataFrameSelectReindex.test_reindex_with_nansc                 C   sT  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}|jtdtdd}|ttdjtdd}t|| t tj	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 )NrN   rP   r   r>   r   r&   r&  r.   r3   y              ?r;   r'   r+   r<   )
r   r   r   r/   r   r5   rp   r   rC   r   r   r#   r#   r$   test_reindex_multi7  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'  rN   r)   r   r+   r{   )r   r'   r.   rN   rP   r3   r   r   r   r'   r.   rP   r3   r   r   )r	   rq   r   r   r   r5   r   rW   r   r   rr   r   rC   )r   midxr    rF   r1   rE   r#   r#   r$   #test_reindex_multi_categorical_timeT  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 sw   Y  d}tjt|d d |jdgd!d" W d    n	1 sw   Y  tjt|d#d |jdgdd$ W d    n	1 sw   Y  tjt|d%d |jdgd&d' W d    d S 1 s;w   Y  d S )(Nr   rN   rA   r   r   caber4   )r   r  r{   )r+   r<   rC  r   r'   aber   Tr   r+   r<   abrC  r?   )
categoriesae)r_  ordered)ra  adr   aabbcar2  r   z<argument {} is not implemented for CategoricalIndex\.reindexrl   ro   rk   r   r   r   r.   )r   )r   r   r  r   rp   CDTr   rr   r
   r   r   rC   r   r@   r   r   r   NotImplementedErrorformat)r   r    r1   rE   catsrF   r   r#   r#   r$   "test_reindex_with_categoricalindexc  s   	   $$$z=TestDataFrameSelectReindex.test_reindex_with_categoricalindexc                 C   s*   t tj}t|j}|h dksJ d S )N>   r9  r   r   r   r   r   r>  rl   r-   r}   rT   )inspect	signaturer   r   set
parameters)r   sigrl  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 )Nr+   r<   r?   rC  r   rb   rN   rP   ry   yr   )ro  rp  )hr   ro   )r9  rl   )r	   from_tuplesr   r   r   rC   )r   mir    mi2r1   rE   r#   r#   r$   (test_reindex_multiindex_ffill_added_rows  s   $zCTestDataFrameSelectReindex.test_reindex_multiindex_ffill_added_rowskwargsr   )secondsr|   rl   Nc                 C   s`   t dddd}tg tg dddgd}|j|fi |}tdtjgd i|d	}t|| d S )
N202030srN   )startr   r   timer  r+   r   r{   )r   r   r   r   r6   NAr   rC   )r   rw  r   r    r1   rE   r#   r#   r$   test_reindex_empty_frame  s
   z3TestDataFrameSelectReindex.test_reindex_empty_framesrc_idxcat_idxr   r4   c                 C   s<   t |dgdd}|j|d}t dg|dd}t|| d S )NKf8)r-   r   r   r>   )r   r-   r   rA  )r   r  r  r    r1   rE   r#   r#   r$   test_reindex_empty  s   z-TestDataFrameSelectReindex.test_reindex_emptyr   m8[ns]r   c                 C   sJ  t tdtdg}tddd}tdd}|dkr'||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 sJ |	jd t	j
u sJ |	jd |u sJ |	jd |u sJ t|	|
 d S )NABCDEr.   rL   r&   rM   NaTnsr  r   r{   rN   r'   r/  rS   r   r   )r   r'   r/  rO   )ra   r   )ra   r'   )r	   rq   rp   r5   r   r   timedelta64
datetime64r
   r6   r  unstackr   appendr   r-   r   r   r[   r~   r   dtypesr  r   rW   r   rC   )r   r   rt  r   r^   r9   r    r   r-   r_   rE   r#   r#   r$   #test_reindex_datetimelike_to_object  s0   z>TestDataFrameSelectReindex.test_reindex_datetimelike_to_object)2rH   rI   rJ   r`   rw   r   markparametrizer   rr   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r%  r.  r1  r3  r5  r;  r<  r@  rB  rL  rP  rR  rT  rX  rY  r[  rh  rn  rv  r   r~  r   r   r  r  r#   r#   r#   r$   rK   R   s    K




^?4!	#
[

	



rK   )r   r   ri  	itertoolsr   numpyr   r   pandasr6   r   r   r   r   r	   r
   r   r   pandas._testing_testingr   pandas.api.typesr   rd  pandas.core.commoncorecommonr   r   rK   r#   r#   r#   r$   <module>   s    (
7