a
    dV                     @   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  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)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/01M
US/EasternperiodsfreqtzZ2013Az
Asia/Tokyo)
r	   nprandomdefault_rngr   	set_indextmassert_index_equalindexreindex)selfdfZidx1Zidx2 r$   p/var/www/html/stable-diffusion-webui/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 )Nr   r'      B)r	   rangepdZcutr   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   r7   r5   r   assert_frame_equal)r"   r#   Zdf1r1   expecteddf2r$   r$   r%   test_setitem_reset_index_dtypesG   s    z3TestReindexSetIndex.test_setitem_reset_index_dtypesz timezone, year, month, day, hour)zAmerica/Chicagoi        r(   )zAmerica/Santiagoi     rH   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}
|
t	}
t
|	|
 d S )
Nr   )yearmonthdayhourminutefoldtzinfor(   r,   r;   )r    valsr    12)gettzr6   	Timestampr	   r   r!   r   nanr@   objectr   rC   )r"   timezonerJ   rK   rL   rM   Ztest_timezoneZtransition_1Ztransition_2r#   expr$   r$   r%    test_reindex_timestamp_with_foldY   sB    	

z4TestReindexSetIndex.test_reindex_timestamp_with_foldN)__name__
__module____qualname__r&   r2   r9   rF   pytestmarkparametrizerZ   r$   r$   r$   r%   r       s   r   c                   @   s  e Zd Zejje p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 Z/dd Z0dd Z1dd Z2dd Z3dd Z4dd Z5dd Z6dd Z7dd Z8dd Z9ejdde:dddde:dddddiddigdd Z;ejde<g e=g gejde<g e=g e<d.d2ge=d.d2ge<d.d.ge=d.d.ggdd Z>ejdddgdd Z?ejde=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dd Z@dd ZAdS )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sJ 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   rU   r!   dtypesZDatetimeTZDtyper@   r   rC   Ztz_localizeZ	to_periodZPeriodDtypeZInterval	TimedeltaZIntervalDtype)r"   r#   tsresrD   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	rJ d S )Nr'   r   Tr.   copyr   r.   r    rq   )r	   r   r   r   r/   arangeshuffler!   shares_memoryZ_valuesr    )r"   Nr#   colsr1   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
sJ n t|d j	j
|d j	j
rJ |j||jdd}|rt|d j	j
|d j	j
sJ n t|d j	j
|d j	j
rJ d S )	Nr'   r   ZFloat64dtypeTrp   r   rr   )r	   r   r   r   r/   rs   rt   r!   ru   array_datar    )r"   using_copy_on_writerv   r#   rw   r1   rx   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   rH   r   r   r4   r-   r   r   rI   r   r4   Cr    r.   rd   rz   )r    rd   )r   valuesZreshaper	   r5   ilocdater!   tolistrW   r   rC   )r"   arrr#   rl   fvrm   rD   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(   rH   )r   r4   r   DEFGr:   r,   r;   )      ?       @g      @g333333@)namesrI   r   r   )r4   r   r   r   bfillmethodbackfill)r   r   r   r   padffill)r	   listr5   r   r   from_productr!   r   rV   r   rC   )r"   r#   r0   Znew_multi_index	reindexedrD   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rdn|dkrdn|}	|d d d	 j||	d}t|| d S )Nxr3   gg?g?g      ?r    r   r(   r   	tolerance)r(   r(   r(   r(   r   )rH   r   r   r(   r   r   )	r	   r   r5   r   r|   r!   r   rC   r   )
r"   r   Zexpected_valuesr#   targetrD   actuale2Z	new_orderZswitched_methodr$   r$   r%   test_reindex_methods1  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{Gz?g?g?)	r	   r   r5   r   r|   rV   r!   r   rC   )r"   r#   r   rD   r   r$   r$   r%   $test_reindex_methods_nearest_specialU  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   rH   r   r   )r   r	   r   r5   headr!   r   rC   )r"   Ztz_aware_fixturer   idxr#   rD   r   r$   r$   r%   test_reindex_nearest_tza  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   rC   )r"   dtir#   rD   r1   r$   r$   r%   #test_reindex_nearest_tz_empty_framek  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
  rJ d S )Nz1/1/2000 00:00:00r'   Z10sr   r   r   r   r4      r4   M8[ns])r   r	   r   r   r   r/   lenr!   r5   Z
issubdtyper{   r   allany)r"   rngr#   r1   maskr$   r$   r%   test_reindex_frame_add_nats  s    z5TestDataFrameSelectReindex.test_reindex_frame_add_natzmethod, exp_valuesr   r   r(   r   rH   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:00rI   r*   UTCr   r   z2020-01-01 00:01:00z1 hourr   )r   r!   r6   rk   r   Zassert_equal)r"   Zframe_or_seriesr   Z
exp_valuesobjr0   r1   rD   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   )r   r   r   )r   r   r   )r   r(   r   rH   rI   r3   r   r(   )r   limit)r   rV   r	   r!   r   rC   )r"   dataZexp_datar#   r1   rD   r$   r$   r%   test_reindex_limit  s    z-TestDataFrameSelectReindex.test_reindex_limitzidx, check_index_type)r   r4   r   T)r   r   r   r   r   r   )r   r   r4   r   r4   )r4   r   r   r   r   F)r   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'         rH   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   rC   )r"   r   r   icolr   ileftri   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   1strH   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   rH   rH   r   rH   r   rH   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   rC   )r"   r   r   r   r   r   ri   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   rH   rI   r   r(   r   r   r3   r   r   r'   rG                  r         )r   r   r   )r   r(   r   rH   rI   r'   rG   r   r3   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r(   r3   r   r   r'   rG   r   r   r   r   r   r   r   )r   r(   r   rH   rI   r'   rG   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   rH   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   rC   )r"   r   indexerr#   r   r   ri   r$   r$   r%   !test_reindex_level_verify_repeats  s:    z<TestDataFrameSelectReindex.test_reindex_level_verify_repeatszidx, indexer, check_index_typeZabcde)	rH   r   r(   r   r3   rI   r   r   r   abcd)rH   r   r(   r   r3   r   r   r   abc)rH   r   r(   r   r   r   Zeca)r(   rH   rI   r   r   Zedc)r   r(   rI   r3   r   Zeadbc)	rH   r   r   r(   rI   r3   r   r   r   Zedwq)r   rI   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   rH   r   r   r   r   r   r   r   r   r   )r	   r   r   r   r   r   r   r!   r   r   rC   )r"   r   r   r   r#   r   r   ri   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 s0    Y  tjt	|d  |j
|jdd W d    n1 s0    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(   r   r    r.   rH   rI   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_methodsC  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(   rA   rz   r   r           rB   r   )	r	   r6   r|   ZSparseDtyper!   r   rV   r   rC   r"   r#   r1   rD   r$   r$   r%   test_reindex_sparseS  s    "z.TestDataFrameSelectReindex.test_reindex_sparsec                 C   s  t jdd}||j}|jD ]j}||  D ]X\}}||jv rxt|rbt|| | svJ q||| | ksJ q.t|s.J q.q| D ]\}}t |j|jsJ q|t	g }	t
|	jdksJ ||jd d d }
|
jD ]r}|
|  D ]`\}}||jv rNt|r6t|| | sLJ n||| | ks\J qt|sJ qq|
 D ] \}}t |j|
jshJ qh|j|jdd}|r|j|jsJ n|j|ju sJ |g }|jsJ t
|jt
|jksJ |g }||j}t
|jt
|jks(J t
|jt
|jksBJ |t|j}|jd }t |j| | }t || ||usJ d S )Nr   )Znperr   r   F)rq   )r   ZmakeTimeSeriesr!   r    r.   itemsr   isnanZequalContentsr
   r   is_emptyr   Z
_with_freqr   rC   )r"   float_framer~   Zdatetime_seriesZnewFramecolr   r   ZseriesZ
emptyFrameZnonContigFramerD   r1   r$   r$   r%   test_reindexb  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   rH   r3   r   rG   r   r)   r   r   r   )r(   rH   rH   r(   r   r   r(   rW   Fr   r,   r;   r<   z
2015-03-22z
2012-01-08)r   rH   rI   r3   )otherr   amountr   z
2015-06-18delta)r  r  r   )r  r  r   r  r=   )r	   r   rV   r   rC   r!   r   r    r@   r6   to_datetimer   shiftr   r7   )r"   r#   r   jr   ri   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sJ t tjdd}t|jtt|d}t tddd}|j|d}|jj	dksJ d S )Nr   r'   r   ZinamenameZtmpnamer=   )r   r   r   r   r	   rs   r   r!   r    r  r
   Tr.   )r"   re   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   r   r4   r=   )r!   r    r{   r   rA   rB   )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r   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)rG   r   r   )      r)   )       !   )r(   r   rI   )r   r    r.   r{   r   r=   rG   r   r   r"  r#  r)   r$  r%  r&  r   )r.   r   r   )r	   floatr!   r5   r   rV   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sJ ||ksJ d S )NrH   rH   i  r(   r   rH   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'   rI   r   r   r   )rd   r3   r  )r.   rd   rI   foo)r	   r   r   r   r/   r!   r   r5   r  r   r   Zfillnar   rC   rq   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;   rz   r   r   r'   r.   r    rd   )r(   r   r'   r'   r?   )r	   r!   r   r   rC   )r"   Zany_unsigned_int_numpy_dtyper#   r1   rD   r$   r$   r%   #test_reindex_uint_dtypes_fill_valueL  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   rz   abr  r'   r0  )r(   r   r'   r/  )r	   r!   r   r   r   rC   )r"   Zany_numeric_ea_dtyper#   r1   rD   r$   r$   r%   /test_reindex_single_column_ea_index_and_columnsV  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 s0    Y  d S )Nr   r'   )
r(   r   rH   rI   r3   r(   r   rH   rI   r3   r   /cannot reindex on an axis with duplicate labelsr  )r   r   r   r/   r	   rq   r   r5   r   r    r   rC   r^   r  r  r!   )r"   r   r#   r1   rD   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 sX0    Y  tjt|d  |jddgd W d    n1 s0    Y  d S )N)r(   r3   g      @)barr,   r,   r=   r4  r  r6  r-  )r	   r^   r  r  r!   r"   r#   r  r$   r$   r%   #test_reindex_with_duplicate_columnso  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   rH   rI   r3   r   r   r(   r   rI   r3   )r   r(   rH   r   r   rc   r    )r	   r   rV   r!   r   rC   )r"   r#   rD   r1   r$   r$   r%   test_reindex_axis_stylez  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 )	Nr9  r:  r   zCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenr  r   r(   r   r	   r^   r  	TypeErrorr!   r7  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 s0    Y  tjtdd" |jddgd
d W d    n1 s0    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 s0    Y  tjtdd( |jddgdgdgd W d    n1 s0    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 s0    Y  d S )Nr9  r:  r   zCannot specify both 'axis'r  r   r(   r   )r.   rc   r    )r    rc   r.   )r    r.   rc   zCannot specify all)labelsr    r.   zmultiple valuesr@  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 )Nr9  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   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 )Nr9  r   )r3   r   r   r:   )r>   er   r   r;   r,   r   rA  r   )r@  rc   r;  rE  r>   r=   r(   r-   rC  )r"   r#   Zres1Zres2Zres3Zres4Zres5rm   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  sJ d S )N)r'   r   rz   r   r   r   r   r'   r(   rH   r=   )r	   r   r+  boolrs   r!   r   r{   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-  r   r4   r=   r-  r   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:   r9  r   r=   r   r   )	r
   r	   r!   r   r   r.   r{   r   rB   )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   rH   rI   r   r   r   r'   r,   r;   g      Y@     @Y@     Y@     Y@r-   )rM  rN  rO  r   )r(   rH   rI   )r	   r   rV   r!   r   r   rC   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)  rI   r   r=   r   r'   )r3   rH   y              ?r:   r(   r,   r;   )r	   r   r   r   r/   r!   r5   r   r   rC   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*  rH   r*   r   r,   r   )r   r(   r   rH   rI   r3   r   r   r   r(   r   rI   r3   r   r   )r   r   r   r   r	   r5   r   r   r!   r   rV   r   rC   )r"   Zmidxr#   rE   r1   rD   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 s0    Y  d}tjt|d d  |jdgd!d" W d    n1 s0    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 )(Nr   rH   rA   rz   r   Zcaber4   )r{   r  r   )r,   r;   rE  r   r(   Zaber   Tr   r,   r;   r2  rE  r>   
categoriesZae)rT  ordered)rU  adr   Zaabbcar4  r  z<argument {} is not implemented for CategoricalIndex\.reindexr   r   r   r   r   r   r   )r   )r	   r   rs   r   r   CDTr!   rV   r   r   r   rC   r   r@   r^   r  r  NotImplementedErrorformat)r"   r#   r1   rD   ZcatsrE   r  r$   r$   r%   "test_reindex_with_categoricalindex8  s    	   $$.00z=TestDataFrameSelectReindex.test_reindex_with_categoricalindexc                 C   s*   t tj}t|j}|h dks&J d S )N>   r@  r.   r"   r   r    r   r   rq   r   rc   rd   )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 )Nr/  r>   rE  r   r   rH   rI   r   yr   )r/  ra  )hr   r   )rc   r   )r   from_tuplesr	   r!   r   rC   )r"   mir#   Zmi2r1   rD   r$   r$   r%   (test_reindex_multiindex_ffill_added_rows  s    $zCTestDataFrameSelectReindex.test_reindex_multiindex_ffill_added_rowskwargsr   rg   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30srH   )startr   r   timer  r,   r   )r    r{   )	r   r	   r
   r!   r   rV   rW   r   rC   )r"   rg  r   r#   r1   rD   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    r{   r=   )r    r.   r{   rC  )r"   rk  rl  r#   r1   rD   r$   r$   r%   test_reindex_empty  s    z-TestDataFrameSelectReindex.test_reindex_emptyr{   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   rH   r(   r-  r   r   rz   )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|   r{   rj   rW   r   r   r   rC   )r"   r{   re  r   r   r8   r#   r    r.   rm   rD   r$   r$   r%   #test_reindex_datetimelike_to_object  s0    z>TestDataFrameSelectReindex.test_reindex_datetimelike_to_objectzindex_df,index_res,index_exprS  c                 C   s0   t |d}|j|d}t |d}t|| d S )Nr   rC  )r"   Zindex_dfZ	index_resZ	index_expr#   r1   rD   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 )	Nr   r(   r   zInvalid fill methodr  )r(   r   r   Zasfreqr   )r	   r   rV   r^   r  r  r!   r7  r$   r$   r%   test_invalid_method  s    z.TestDataFrameSelectReindex.test_invalid_method)Br[   r\   r]   r^   r_   Zxfailr   r   tdZ&skip_array_manager_not_yet_implementedro   ry   r   r   r   r`   r   rV   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r  r  r!  r(  r,  r.  r1  r3  r5  r8  r<  r?  rB  rD  rF  rI  rJ  rL  rP  rQ  rR  rZ  r`  rf  r   rj  r
   r   rn  rs  rt  ru  r$   r$   r$   r%   ra      s4  

K
















"

B3!
	#
 [
	





"
ra   )"r   r   r[  numpyr   r^   Zpandas._libs.tslibs.timezonesr   rT   Zpandas.compatr   r   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   rW  r   ra   r$   r$   r$   r%   <module>   s   (
a