
    bMhQ8              
          d dl Zd dlZd dlmc mZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZ d dlmZ d Zd Zd Zd Zd Zd Zd	 Zd
 Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(ej)        ej*        +                    dddg          ej*        +                    ddd  ed           g          d                                     Z,d Z-d Z.ej*        +                    d edd           edd          g edd           edd          dgd d gd d ej/        gf edd           edd          g edd           edd          gd d gd d gfg          d!             Z0d" Z1d# Z2d$ Z3ej*        +                    d%d&gd'ggg g gg          d(             Z4d) Z5d* Z6ej*        +                    dd+d,g          d-             Z7dS ).    N)NACategoricalFloat64DtypeIndex
MultiIndexNaTPeriodPeriodIndex
RangeIndexSeries	Timedelta	Timestamp
date_rangeisnac                 x   |                     |j                  }t          j        |j        |j                  sJ |j                            |j                  sJ |j                            |j                  sJ |j        dd         }|                     |          }|                                D ]\  }}|||         k    sJ | j        dd         }|                      |          }|                                D ]\  }}|| |         k    sJ |                      |          }	t          j        |	          	                                sJ | j        d d d         }
|                      |
          }|                                D ]\  }}|| |         k    sJ |                                  }|| usJ d S )N
         )
reindexindextmshares_memoryis_	identicalitemsnpisnanall)datetime_seriesstring_seriesidentitysubIndex	subSeriesidxval	subIndex2subTSstuffSeriesnonContigIndexsubNonContigresults                h/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/methods/test_reindex.pytest_reindexr-      s   $$]%899HM/@@@@@>m122222>##M$788888"2b5)H%%h//IOO%% ) )SmC((((((%be,I##I..EKKMM + +Soc******!))(33K8K  $$&&&&& %*33Q3/N"**>::L &&(( + +Soc****** $$&&F((((((    c                     t          g dddt          j        dg          } t          j        dt          j        ddt          j        gg d}}t          j        |                     |          | j        |                    | j                            d          | _        t          j        |                     |          | j        |         d	           d S )
N)r                     r   )r   r   r   r0   r3   r   objectF)check_index_type)	r   r   nanr   assert_series_equalr   ilocr   astype)tsijs      r,   test_reindex_nanr@   ;   s    	Q261$5	6	6	6BFArvq!RV,.@.@.@qA2::a=="'!*555xx((BH 2::a=="'!*uMMMMMMr.   c                     t          ddd          } t          |           }|                    t          d                    }t	          j        |j        t	          j        d                    sJ |                                }|dd                                          sJ |d d         	                                rJ d S )Nz1/1/2000 00:00:00r   10speriodsfreq   zM8[ns])
r   r   r   ranger   
issubdtypedtyper   r   any)rngseriesr+   masks       r,   test_reindex_series_add_natrO   G   s    
("5
A
A
ACC[[F^^E"II&&F=rx'9'9:::::;;==D9==??CRCy}}r.   c                     t          dd          } t          t          j                            d                              d          |           }|                    t          |j        dd                             }|dd         }|j        	                    d           |_        t          j        ||           |t          |j        dd                            }t          j        ||           d S )Nz1/1/2000r   rD   r   r6   r1   r   )r   r   r   randomdefault_rngstandard_normalr   listr   
_with_freqr   r:   )rL   r=   r+   expecteds       r,   test_reindex_with_datetimesrX   S   s    
Z
,
,
,C		%%a((88<<C	H	H	HBZZRXad^,,--F!B$xH^..t44HN68,,,RXad^$$%F68,,,,,r.   c                    t          g           }|                    | j        d           |                    | j        d          }|                     t          | j                            }| j                            d           | _        t          j        | |           | d d d         }d}t          j        t          |          5  |                    | j        d           d d d            d S # 1 swxY w Y   d S )Nr6   padmethodr   zVInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got foomatchfoo)
r   r   r   rU   rV   r   r:   pytestraises
ValueError)r   empty	reindexedr=   msgs        r,   test_reindex_cornerrf   `   sA   E	MM/'M666 o3EBBI  ''_-B(C(CDDI+1<<TBBO?I666 
1	B	*  
z	-	-	- 8 8


?(
7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   C66C:=C:c                  H   t          t          j        d          d          } | d d d         }|                    | j        d          }|                    | j        d          }t          j        ||           t          g d          }t          j        ||           d S )	Nr   int64rJ   r   rZ   r[   ffill)
r   r   r   r   r4   r4      rk   r5   r5   )r   r   aranger   r   r   r:   )ss2rd   
reindexed2rW   s        r,   test_reindex_padrp   w   s    ry}}G,,,A	
33Q3B

175
11IAGG44J9j11144455H9h/////r.   c                  `   t          g dg d          } g d}t          g d|          }|                     |                                          }t          j        ||                    d                     d}t          j        t          |          5  |                     |                              d	
          }d d d            n# 1 swxY w Y   t          j        ||           t          g d|          }|                     |d          }t          j        ||           d S )Nr3   r   r0   r4   r1   )abcder6   )rs   gru   f)r3   r3   r0   r0   float64z-The 'downcast' keyword in ffill is deprecatedr]   infer)downcast)r3   r1   r0   r1   rj   r[   )r   r   rj   r   r:   r<   assert_produces_warningFutureWarning)rm   	new_indexrW   r+   re   s        r,   test_reindex_pad2r      sg   &?&?&?@@@A$$$Illl)444H YYy!!''))F68??9#=#=>>>
9C		#M	=	=	= > >9%%++W+==> > > > > > > > > > > > > > >68,,,lll)444HYYyY11F68,,,,,s   *CCCc                     t          g dt          d                    } d}d}t          j        t          |          5  |                     t          |                                                    }d d d            n# 1 swxY w Y   t          g dt          |                    }t          j        ||           d S )N)TFFTabcdr6   agc"Downcasting object dtype arrays onr]   )TTF)r   rU   r   r}   r~   r   rj   r:   )rm   r   re   r+   rW   s        r,   test_reindex_inferencer      s    )))f>>>AI
.C		#M	=	=	= 4 44	??++11334 4 4 4 4 4 4 4 4 4 4 4 4 4 4)))iAAAH68,,,,,s    5BBBc                  `   t          dt          d                    } d}t          j        t          |          5  |                     d                                          }d d d            n# 1 swxY w Y   t          dt          d                    }t          j        ||           d S )NFr1   r6   r   r]   r3   )r   rH   r   r}   r~   shiftbfillr:   )rm   re   r+   rW   s       r,   test_reindex_downcastingr      s    uE!HH%%%A
.C		#M	=	=	= $ $!!##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $e588,,,H68,,,,,s   (A00A47A4c                  Z   t          t          j        dd                    } g d}|                     |d          }t          t          j        |                              d          |          }t          j        ||           |                     |dd          }t          d	d
t          j        dg|          }t          j        ||           |                     |dg d          }t          d	t          j        t          j        dg|          }t          j        ||           d S )Nr   rh   ri   )g?g?g      ?       @nearestr[   g?)r\   	tolerancer   r3   r   )g333333?g{Gz?g?r0   )	r   r   rl   r   aroundr<   r   r:   r9   )rm   targetr+   rW   s       r,   test_reindex_nearestr      s   ry7+++,,A!!!FYYviY00Fbi''..w77@@H8V,,,YYvi3Y??Fq!RVQ'00H8V,,,YYvi;N;N;NYOOFq"&"&!,f55H8V,,,,,r.   c                    | d d d         }t          t          j        t          |          t                    |j                  }|                    | j                  }|j        t          j        k    sJ |                    |j        d d d                   }|j        t          j        t                    k    sJ d S Nr   ri   r6   )	r   r   zeroslenintr   r   rJ   rz   )r   r=   int_tsreindexed_ints       r,   test_reindex_intr      s    	1	BBHSWWC000AAAF NN?#899M "*,,,, NN6<!#455M"(3--//////r.   c                 j   | d d d         }t          t          j        t          |          t                    |j                  }|                    | j                  }|j        t          j        k    sJ |                    |j        d d d                   }|j        t          j	        k    sJ d S r   )
r   r   r   r   boolr   r   rJ   object_bool_)r   r=   bool_tsreindexed_bools       r,   test_reindex_boolr      s    	1	BRXc"ggT222"(CCCG ___%:;;N 2:---- __W]33Q3%788N28++++++r.   c                     | dd          }t          t          j        t          |          t                    |j                  }|                    | j        d          }t          |d d                                                   sJ d S )Nr1   ri   r6   rZ   r[   )	r   r   r   r   r   r   r   r   r   )r   r=   r   filled_bools       r,   test_reindex_bool_padr      s    		BRXc"ggT222"(CCCG///"7/FFKBQB  $$&&&&&&&r.   c                     t          dd          } t          g dd          }|                    |           }t          t          t          j        t          j        t          j        gg d                    }| |_        t          j        ||           t          t          dd	gg d                    }d
dg|_        |                    d
dg          }t          j        ||           t          t          d	t          j        gg d                    }ddg|_        |                    ddg          }t          j        ||           d S )N20000101r0   rQ   )rs   rt   ru   categoryri   )values
categoriesrt   ru   r3   r   )	r   r   r   r   r   r9   r   r   r:   )r   rm   r+   rW   s       r,   test_reindex_categoricalr      s=   z1---E 	j111AYYuFBFBFBF3PPP H HN68,,, k#sPPPQQHVHNYY1vF68,,,k#rv???SSSTTHVHNYY1vF68,,,,,r.   c                  `   t          g dg d          } g d}d}t          }|                     |                              |                              |          }|                     |                              |                              |          }t	          j        ||           d S )Nr3   r   r0   )r   r   r3   r6   )r   r3   r   r   )r   strr   r<   r   r:   )serr   
temp_dtype	new_dtyper+   rW   s         r,   %test_reindex_astype_order_consistencyr      s    
)))
,
,
,C		IJI[[##**:66==iHHFzz*%%--i88??	JJH68,,,,,r.   c                     t          g d          } |                     g d          }t          ddt          j        gg d          }t	          j        ||           |                     g dd          }t          g dg d          }t	          j        ||           t          g d          }|                    g d          }t          ddt          j        gg d          }t	          j        ||           |                    g dd          }t          g d	g d          }t          |j        j        t          j	                  sJ t	          j        ||           t          g dt          
          }|                    g d          }t          ddt          j        gg dt                    }t	          j        ||           |                    g dd          }t          g dg dt                    }t	          j        ||           t          g d          }|                    g d          }t          ddt          j        gg dt                    }t	          j        ||           |                    g dd          }t          g dg d          }t	          j        ||           d S )N)      ?r         @r   r   r   r6   r   
fill_value)r   r   r   )r   r0   r   ri   r   r0   r   rJ   r_   )r   r0   r_   )TFTFT)FTF)r   r   r   r9   r   r:   
issubclassrJ   typeintegerr7   )floatsr+   rW   intsobjectsboolss         r,   test_reindex_fill_valuer     s    OOO$$F^^III&&FsC(			:::H68,,,^^III!^44Fmmm999555H68,,, )))D\\)))$$FsC(			:::H68,,, \\)))\22Fiiiyyy111Hfl'4444468,,, YYYf---G__YYY''Fq!RVnIIIVDDDH68,,,__YYY5_99Fmmm999FCCCH68,,, &&&''E]]999%%FudBF+999FKKKH68,,,]]999]77F***)))<<<H68,,,,,r.   rJ   zdatetime64[ns]timedelta64[ns]r   stringc                     | dk    r"|t          d          k    rt          d          }t          t          g|           }|                    ddg|          }t          t          |gddgt
                    }t          j        ||           d S )Nr   r   ri   r3   r   r   )r   r   r   r   r   r7   r   r:   )rJ   r   using_array_managerr   r+   rW   s         r,   +test_reindex_fill_value_datetimelike_upcastr   9  s    
 !!!jIaLL&@&@q\\

#e
$
$
$C[[!QJ[77FsJ'1vVDDDH68,,,,,r.   c                  $   t          ddd          } t          ddd          }t          t          d          | 	          }d
}t          j        t
          |          5  |                    |d           d d d            d S # 1 swxY w Y   d S )N20131101zAmerica/Chicagor2   )tzrD   20131103r   hrC   r6   zLCannot compare dtypes datetime64\[ns, America/Chicago\] and datetime64\[ns\]r]   rj   r[   )r   r   rH   r`   ra   	TypeErrorr   )r$   newidxrm   re   s       r,   /test_reindex_datetimeindexes_tz_naive_and_awarer   I  s    
Z$5q
A
A
AC
BS999FuQxxs###A	   
y	,	,	, * *			&	)))* * * * * * * * * * * * * * * * * *s    BB	B	c                      t          d                              ddg          } t          t          gdz  d          }t          j        | |           d S )Nzdatetime64[ns, UTC]ri   r   r3   r   )r   r   r   r   assert_equal)r+   rW   s     r,   "test_reindex_empty_series_tz_dtyper   V  sV    /00088!Q@@Fseai'<===HOFH%%%%%r.   z+p_values, o_values, values, expected_values2019Q1zQ-DEC2019Q2Allr   c                     t          |           }t          |          }t          ||          }|                    |          }t          ||          }t	          j        ||           d S )Nr6   )r
   r   r   r   r   r:   )	p_valueso_valuesr   expected_valuesperiod_indexobject_indexr   r+   rW   s	            r,   $test_reindex_periodindex_with_objectr   ]  sj    & x((L??L
|
,
,
,C[[&&Fo\:::H68,,,,,r.   c                      t          ddg          } d}t          j        t          |          5  |                     ddgd           d d d            d S # 1 swxY w Y   d S )Nr3   r   zCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenr]   r0   Fr   r`   ra   r   r   r   re   s     r,   test_reindex_too_many_argsr   y  s    
!Q..C
PC	y	,	,	, # #QFE"""# # # # # # # # # # # # # # # # # #s   AAAc                      t          ddg          } d}t          j        t          |          5  |                     ddgddg           d d d            d S # 1 swxY w Y   d S )Nr3   r   z4reindex\(\) got multiple values for argument 'index'r]   r0   r4   r6   r   r   s     r,   test_reindex_double_indexr     s    
!Q..C
AC	y	,	,	, * *QF1a&)))* * * * * * * * * * * * * * * * * *s   AAAc                      t          ddg          } |                     ddg          }t          ddgddg          }t          j        ||           d S )Nr3   r   r   r6   )r   r   r   r:   )r   r+   rW   s      r,   test_reindex_no_posargsr     s[    
!Q..C[[1v[&&Fq!fQF+++H68,,,,,r.   r   rs   xc                 b   t          t          t          | d                             t          j        |           d          }|                    t          j        dg          d          }t          t          dg| d         gg g g          d          }t          j	        ||           d S )Nr   r7   r   rt   )levelr3   )levelscodes)
r   rH   r   r   from_arraysr   r   arrayr   r:   )r   r   r+   rW   s       r,   test_reindex_empty_with_levelr     s     c&)nnZ%;F%C%C8  C [[3%[22F#q	 22r(CCC8  H 68,,,,,r.   c                      t          g dd          } d}t          j        t          |          5  |                     g dd           d d d            d S # 1 swxY w Y   d S )	N)r3   r   r0   r3   r   ri   z:Cannot setitem on a Categorical with a new category \(-1\)r]   rr   r   r   r   s     r,   test_reindex_missing_categoryr     s    
Z
0
0
0C
GC	y	,	,	, 4 4OOO3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   AAAc                  >   t          dt          gt                                } |                     t	          d                    }|j        j        }t          j        dt          j	        t          j	        g          }t          j        ||           t          j        d           5  t          j        |          }t          dt          j	        t          j	        gt                                }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   ri   r0   r3   r   )r   r   r   r   rH   r   _datar   r   r9   r   assert_numpy_array_equalr}   logr:   )rm   	s_reindexr+   rW   
result_logexpected_logs         r,   #test_reindexing_with_float64_NA_logr     s#   Ry///A		%((##I#FxBFBF+,,H111		#D	)	) 9 9VI&&
q"&"&1HHH
z<8889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s   'ADDDtimedelta64
datetime64c           
      L   t          t          j        dg|  d                    }|                    t	          d                    }t          t          j        d t          t          |           dd          g|  d                    }t          j        ||           d S )Nr3   z[s]ri   r   natrm   )r   r   r   r   r   getattrr   r:   )rJ   r   r+   rW   s       r,   test_reindex_expand_nonnano_natr     s     1#]]]333
4
4C[[A''F
!'WR''s334uMMMJJJ H 68,,,,,r.   )8numpyr   r`   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr   r-   r@   rO   rX   rf   rp   r   r   r   r   r   r   r   r   r   r   &skip_array_manager_not_yet_implementedmarkparametrizer   r   r   r9   r   r   r   r   r   r   r   r    r.   r,   <module>r     s        ) ) ) ) ) ) ) ) )                                      ) ) )D	N 	N 	N	 	 	
- 
- 
-8 8 8.	0 	0 	0- - -(- - -- - -- - - 0 0 0, , , ' ' '- - -0- - -0- 0- 0-f *#35F"GHH!YYq\\'BCC
- 
- DC IH +*
-
* 
* 
*& & & 1 VHg&&x(A(ABVHg&&x(A(A5I#J#rv		
 VHg&&x(A(ABVHg&&x(A(AB#J#J		
 "- -# "-# # #* * *- - - cUSENRH#=>>	- 	- ?>	-4 4 4
9 
9 
9 =,"?@@- - A@- - -r.   