o
    d                     @   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
  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 d dlm  mZ  G dd dZ!G dd	 d	Z"dS )
    )datetime	timedeltaN)dateutil_gettz)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   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#   l/var/www/html/visualizacion-main/env/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_intervalindex8   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_dtypesz timezone, year, month, day, hour)zAmerica/Chicagoi        r'   )zAmerica/Santiagoi     rJ   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|	tdd	gd d gdd d S )
Nr   )yearmonthdayhourminutefoldtzinfor'   r+   r<   )r   valsr   12)gettzr6   	Timestampr   r   r   r   rD   )
r   timezonerL   rM   rN   rO   test_timezonetransition_1transition_2r    r#   r#   r$    test_reindex_timestamp_with_foldR   s6   	

z4TestReindexSetIndex.test_reindex_timestamp_with_foldN)__name__
__module____qualname__r%   r2   r:   rH   pytestmarkparametrizer\   r#   r#   r#   r$   r      s    r   c                   @   sj  e Z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 d,d(gd-d.gd(gd-d*gd(gd*d.gd(gg d/d(gd0d1gd2gg d3d2ggd4d5 Ze	j
d6g d7d8d9 Ze	j
d:g d;g d<gg d=g d>gd?d@gg dAgd@dBgg dCggdDdE Ze	j
dFedGg dHd(gedIg dJd(ge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 d2ggdVdW ZdXdY Z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 Z.dd Z/dd Z0dd Z1dd Z2dd Z3dd Z4dd Z5e	j
dde6dddde6ddddd
iddigdd Z7e	j
de8g e9g ge	j
de8g e9g e8d*d.ge9d*d.ge8d*d*ge9d*d*ggdd Z:e	j
dddgdd Z;e	j
de9g d*gde8d*ge8d*gfe9g d*gde8d.ge8d.gfe9g d*gde9d*ge9d*gfe9g d*gde9d.ge9d.gfgdd Z<dS )TestDataFrameSelectReindexc                 C   s   d}t tj|d |}t|}tj| |j|dd}t|d j|d jr-J |j||j	dd}t|d j|d jrDJ d S )Nr&   Tr-   copyr   r-   r   re   )
r   r   r   r/   arangeshuffler   shares_memory_valuesr   )r   Nr    colsr1   result2r#   r#   r$   test_reindex_copiesz   s   
 z.TestDataFrameSelectReindex.test_reindex_copiesc                 C   s   d}t tj|d |dd}t|}tj| |j|dd}|r4t|d jj	|d jj	s3J nt|d jj	|d jj	rDJ |j||j
dd}|rat|d jj	|d jj	s_J d S t|d jj	|d jj	rqJ d S )Nr&   Float64dtypeTrd   r   rf   )r   r   r   r/   rg   rh   r   ri   array_datar   )r   using_copy_on_writerk   r    rl   r1   rm   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   rJ   r.   r   r4   r,   r   r   rK   r   r4   Cr   r-   
fill_valuerp   )r   r|   )r   valuesreshaper   r5   ilocdater   tolistobjectr   rD   )r   arrr    tsfvresrF   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'   rJ   )r   r4   rz   DEFGr;   r+   r<   )      ?       @g      @g333333@)namesrK   rz   r   )r4   rz   r   r   bfillmethodbackfill)r   rz   r   r   padffill)r   listr5   r   r	   from_productr   r   nanr   rD   )r   r    r0   new_multi_index	reindexedrF   reindexed_with_backfilling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   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   r   r'   r   	tolerance)r'   r'   r'   r'   r   )rJ   r   r.   r'   r   r   )	r   r   r5   r   rr   r   r   rD   r   )
r   r   expected_valuesr    targetrF   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 )Nr   r3   r   r   r'   r   r   g?r   )r   g{Gz?g?g?)	r   r   r5   r   rr   r   r   r   rD   )r   r    r   rF   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   r   r   rJ   r   r   )r   r   r   r5   headr   r   rD   )r   tz_aware_fixturer   idxr    rF   r   r#   r#   r$   test_reindex_nearest_tz6  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   DatetimeIndexr   r   r   rD   )r   dtir    rF   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   
issubdtyperq   comr   allany)r   rngr    r1   maskr#   r#   r$   test_reindex_frame_add_natH  s   z5TestDataFrameSelectReindex.test_reindex_frame_add_natzmethod, exp_valuesr   r   r'   r.   rJ   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:00rK   r)   UTCr   r   z2020-01-01 00:01:00z1 hourr   )r   r   r6   	Timedeltar   assert_equal)r   frame_or_seriesr   
exp_valuesobjr0   r1   rF   r#   r#   r$   !test_reindex_frame_tz_ffill_bfillS  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   )rz   rz   rz   )r   r   r   )r   r'   r.   rJ   rK   r3   r   r'   )r   limit)r   r   r   r   r   rD   )r   dataexp_datar    r1   rF   r#   r#   r$   test_reindex_limitb  s   z-TestDataFrameSelectReindex.test_reindex_limitzidx, check_index_type)rz   r4   r   T)r   rz   r   r   r   ry   )rz   r   r4   rz   r4   )r4   r   rz   r   r   F)r   rz   r4   c              	      s   t tdtdd d d g dd tj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&         rJ   r     	   jimjoejoliejoliner   r   r   c                       t  d | k d S Nr   r   r   nonzeroto_numpyvalr    r#   r$   f     zKTestDataFrameSelectReindex.test_reindex_level_verify_first_level.<locals>.fr   levelcheck_index_type)r   r   r   r   randintconcatenatemapr   r   r   r   rD   )r   r   r   icolr   ileftrightr#   r   r$   %test_reindex_level_verify_first_levelr  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 g d} fdd}ttt||} |j	|dd} j
| |}t|| d S )Nr   r3   r      r   r   3rdr.   1strJ   2ndc                 S      g | ]}t jjd |ddqS r   F)replacer   r   choice.0r   r#   r#   r$   
<listcomp>      z\TestDataFrameSelectReindex.test_reindex_level_verify_first_level_repeats.<locals>.<listcomp>r.   rJ   rJ   r.   rJ   r.   rJ   r.   r   r&   r   r   c                    r   r   r   r   r   r#   r$   r     r   zSTestDataFrameSelectReindex.test_reindex_level_verify_first_level_repeats.<locals>.fr   r   )r   r   r   r   r/   roundr   r   r   r   r   r   rD   )r   r   r   r   r   r   r   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.   rJ   rK   r   r'   r   r   r3   r   r   r&   rI                  r         )r   r   r   )r   r'   r.   rJ   rK   r&   rI   r  r3   r   r   r   r   r   r  r  r
  r  r  r	  r   r   )r   r'   r3   r   r   r&   rI   r  r
  r  r   r  r  r   )r   r'   r.   rJ   rK   r&   rI   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}g d}||j|dd}|j| |}t	
|| d S )Nr   r3   r   r   r   r   r   r.   r   rJ   r   c                 S   r   r   r   r   r#   r#   r$   r    r  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   rD   )r   r   indexerr    r   r   r   r#   r#   r$   !test_reindex_level_verify_repeats  s:   z<TestDataFrameSelectReindex.test_reindex_level_verify_repeatszidx, indexer, check_index_typeabcde)	rJ   r.   r'   r   r3   rK   r   r   r   abcd)rJ   r.   r'   r   r3   r   r   r   abc)rJ   r.   r'   r   r   r   eca)r'   rJ   rK   r   r   edc)r   r'   rK   r3   r   eadbc)	rJ   r   r.   r'   rK   r3   r   r   r   edwq)r   rK   r3   wqc              	   C   sx   t tdtdd d d g dd tjdddd	}g d
}||j|dd}|j| |}tj	|||d d S )Nr   r   r   r   rJ   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   r   r#   r#   r$   test_reindex_level_verify  s   
z4TestDataFrameSelectReindex.test_reindex_level_verifyc                 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-   rJ   rK   r3   r   r'   r.   z0index must be monotonic increasing or decreasingmatchr   r   r   r   r   )r   r   r   r/   r   r   r`   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'   rB   rp   r   r.           rC   r   )	r   r6   rr   SparseDtyper   r   r   r   rD   r   r    r1   rF   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)re   )r   makeTimeSeriesr   r   r-   itemsr   isnanequalContentsr   r   emptyr   
_with_freqr   rD   )r   float_framedatetime_seriesnewFramecolr   r   series
emptyFramenonContigFramerF   r1   r#   r#   r$   test_reindex5  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.   rJ   r3   r   rI   r   r(   r   r   r  )r'   rJ   rJ   r'   r.   r   r'   r   Fr   r+   r<   r=   z
2015-03-22z
2012-01-08)r.   rJ   rK   r3   )otherr   amountr   z
2015-06-18delta)r9  r7  r   )r9  r7  r   r8  r>   )r   r   r   r   rD   r   r   r   rA   r6   to_datetimer   shiftr   r8   )r   r    r   jr   r   r#   r#   r$   test_reindex_nant  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   rg   r   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   rq   r   rB   rC   )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   r   r>   r4   r   rz   )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)rI   r  r  )      r(   )       !   )r'   r.   rK   )r   r   r-   rq   r   r>   rI   r  r  rN  rO  r(   rP  rQ  rR  r   )r-   r   r   )r   floatr   r5   r   r   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sIJ ||ksOJ d S )NrJ   rJ   i  r'   r.   rJ   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_axes  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&   rK   r   r   r   )r|   r3   r$  )r-   r|   foo)r   r   r   r/   r   r   r5   r+  r}   r   fillnar   rD   re   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<   rp   r  r   r&   r-   r   r|   )r'   r.   r&   r&   r@   )r   r   r   r   rD   )r   any_unsigned_int_numpy_dtyper    r1   rF   r#   r#   r$   #test_reindex_uint_dtypes_fill_value  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.   rp   abr  r&   rb  )r'   r.   r&   ra  )r   r   r   r
   r   rD   )r   any_numeric_ea_dtyper    r1   rF   r#   r#   r$   /test_reindex_single_column_ea_index_and_columns&  s   zJTestDataFrameSelectReindex.test_reindex_single_column_ea_index_and_columnsc                 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.   rJ   rK   r3   r'   r.   rJ   rK   r3   r   /cannot reindex on an axis with duplicate labelsr  )r   r   r/   r   re   r   r5   r   r   r   rD   r`   r  r  r   )r   r   r    r1   rF   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>   rh  r  rj  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.   rJ   rK   r3   r   r   r'   r.   rK   r3   )r   r'   rJ   r   r   axisr   )r   r   r   r   r   rD   )r   r    rF   r1   r#   r#   r$   test_reindex_axis_styleJ  s   z2TestDataFrameSelectReindex.test_reindex_axis_stylec                 C   sb   t g dg dd}d}tjt|d |ddgg d W d    d S 1 s*w   Y  d S )	Nrm  rn  r   zCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenr  r   r'   ry   r   r`   r  	TypeErrorr   rk  r#   r#   r$   test_reindex_positional_raisesY  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 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 |jddgdgdgd 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 s2w   Y  tjtdd |jddgddgd W d    d S 1 sVw   Y  d S )Nrm  rn  r   zCannot specify both 'axis'r  r   r'   r   )r-   rp  r   )r   rp  r-   )r   r-   rp  zCannot specify all)labelsr   r-   zmultiple valuesru  rr  )r   r    r#   r#   r$   test_reindex_axis_style_raisesa  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 )Nrm  r   r   r'   r   r>   r.   r   r   r   rD   r&  r#   r#   r$   !test_reindex_single_named_indexer  s   z<TestDataFrameSelectReindex.test_reindex_single_named_indexerc                 C   sP  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|| qj|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|| qd S )Nrm  r  )r3   r   r   r;   )r?   er   r  r<   r+   r   rv  r   )ru  rp  ro  rz  r?   r>   r'   r,   rx  )r   r    res1res2res3res4res5r   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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.   rp   r   r   r.   r  r&   r'   rJ   r>   )r   r   rW  boolrg   r   r}   rq   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sJ d S )N)r^  r   r4   r>   r^  r   r4   )r   )r   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;   rm  r   r>   rJ  r   )	r   r   r   r   r   r-   rq   r   rC   )r   rF  r   dmr   rG  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.   rJ   rK   r   r   r   r&   r+   r<   g      Y@     @Y@     Y@     Y@r,   )r  r  r  r   )r'   rJ   rK   )r   r   r   r   r   r   rD   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 )NrJ   rK   r  r>   r   r&   rU  r.   r3   y              ?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;   rV  rJ   r)   r   r+   r   )r   r'   r.   rJ   rK   r3   r   r   r   r'   r.   rK   r3   r   r   )r	   r   r   r   r   r5   r   r   r   r   r   r   rD   )r   midxr    rG   r1   rF   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 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   rJ   rB   rp   r  caber4   )rq   r@  r   )r+   r<   rz  r   r'   aber   Tr   r+   r<   re  rz  r?   
categoriesae)r  ordered)r  adr   aabbcarh  r  z<argument {} is not implemented for CategoricalIndex\.reindexr   r   r   r   r   r   r.   )r   )r   r   rg   r   r   CDTr   r   r
   r   r   rD   r   rA   r`   r  r  NotImplementedErrorformat)r   r    r1   rF   catsrG   r"  r#   r#   r$   "test_reindex_with_categoricalindex  s   	   $$$z=TestDataFrameSelectReindex.test_reindex_with_categoricalindexc                 C   s*   t tj}t|j}|h dksJ d S )N>   rp  re   r   r   r   r   ru  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 )Nra  r?   rz  r   r   rJ   rK   r   yr  )ra  r  )hr   r   )rp  r   )r	   from_tuplesr   r   r   rD   )r   mir    mi2r1   rF   r#   r#   r$   (test_reindex_multiindex_ffill_added_rowsq  s   $zCTestDataFrameSelectReindex.test_reindex_multiindex_ffill_added_rowskwargsr   )secondsr   r   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30srJ   )startr   r   timer?  r+   r  r   )r   r   r   r   r6   NAr   rD   )r   r  r   r    r1   rF   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Kf8)r-   r   rq   r>   )r   r-   rq   rx  )r   r  r  r    r1   rF   r#   r#   r$   test_reindex_empty  s   z-TestDataFrameSelectReindex.test_reindex_emptyrq   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.   rv   r&   rw   NaTnsr  r   r   rJ   r'   r^  r{   r   rp   )r   r'   r^  rx   )r   r   )r   r'   )r	   r   r   r5   r   r   timedelta64
datetime64r
   r6   r  unstackr   appendr   r-   r   r   r   rr   rq   dtypesr   r   r   r   rD   )r   rq   r  r   r   r9   r    r   r-   r   rF   r#   r#   r$   #test_reindex_datetimelike_to_object  s0   z>TestDataFrameSelectReindex.test_reindex_datetimelike_to_objectzindex_df,index_res,index_expr  c                 C   s0   t |d}|j|d}t |d}t|| d S )Nr   rx  )r   index_df	index_res	index_expr    r1   rF   r#   r#   r$   test_reindex_not_category  s   

z4TestDataFrameSelectReindex.test_reindex_not_category)=r]   r^   r_   rn   ru   td&skip_array_manager_not_yet_implementedr   r   r`   ra   rb   r   r   r   r   r   r   r   r   r   r   r  r  r   r  r#  r'  r6  r=  rE  rI  rM  rT  r]  r`  rd  rg  ri  rl  rq  rt  rw  ry  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r  r  r#   r#   r#   r$   rc   v   s(   
K
















"

?3!
	#
[

	




"rc   )#r   r   r  numpyr   r`   pandas._libs.tslibs.timezonesr   rV   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr6   r   r   r   r   r	   r
   r   r   pandas._testing_testingr   pandas.api.typesr   r  pandas.core.commoncorecommonr   r   rc   r#   r#   r#   r$   <module>   s    (
Y