
    [6g8              
          d dl Zd dlZd dlm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 ej                             e            d          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 Z0d Z1ej        .                    d edd            ed!d           g edd            ed!d           d"gd#d#gd#d#ej2        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$             Z3d% Z4d& Z5d' Z6ej        .                    d(d)gd*ggg g gg          d+             Z7d, Z8d- Z9ej        .                    dd.d/g          d0             Z:dS )1    N)using_pyarrow_string_dtype)NACategoricalFloat64DtypeIndex
MultiIndexNaTPeriodPeriodIndex
RangeIndexSeries	Timedelta	Timestamp
date_rangeisnaz#share memory doesn't work for arrow)reasonc                 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npmay_share_memoryis_	identicalitemsisnanall)datetime_seriesstring_seriesidentitysubIndex	subSeriesidxval	subIndex2subTSstuffSeriesnonContigIndexsubNonContigresults                g/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/series/methods/test_reindex.pytest_reindexr.      s    $$]%899H}2HNCCCCC>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   r1   r4   r   objectF)check_index_type)	r   r   nantmassert_series_equalr   ilocr   astype)tsijs      r-   test_reindex_nanrB   @   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_natrQ   L   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   rF   r   r7   r2   r   )r   r   r   randomdefault_rngstandard_normalr   listr   
_with_freqr;   r<   )rN   r?   r,   expecteds       r-   test_reindex_with_datetimesrZ   X   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 )Nr7   padmethodr   zVInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got foomatchfoo)
r   r   r   rW   rX   r;   r<   pytestraises
ValueError)r    empty	reindexedr?   msgs        r-   test_reindex_cornerrh   e   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rL   r   r\   r]   ffill)
r   r   r   r   r5   r5      rm   r6   r6   )r   r   aranger   r   r;   r<   )ss2rf   
reindexed2rY   s        r-   test_reindex_padrr   |   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r4   r   r1   r5   r2   )abcder7   )ru   grw   f)r4   r4   r1   r1   float64z-The 'downcast' keyword in ffill is deprecatedr_   infer)downcast)r4   r2   r1   r2   rl   r]   )r   r   rl   r;   r<   r>   assert_produces_warningFutureWarning)ro   	new_indexrY   r,   rg   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abcdr7   agc"Downcasting object dtype arrays onr_   )TTF)r   rW   r;   r   r   r   rl   r<   )ro   r   rg   r,   rY   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 )NFr2   r7   r   r_   r4   )r   rJ   r;   r   r   shiftbfillr<   )ro   rg   r,   rY   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   rj   rk   )g?g?g      ?       @nearestr]   g?)r^   	tolerancer   r4   r   )g333333?g{Gz?g?r1   )	r   r   rn   r   aroundr>   r;   r<   r:   )ro   targetr,   rY   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   rk   r7   )	r   r   zeroslenintr   r   rL   r|   )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   rL   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 )Nr2   rk   r7   r\   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20000101r1   rS   )ru   rv   rw   categoryrk   )values
categoriesrv   rw   r4   r   )	r   r   r   r   r   r:   r   r;   r<   )r   ro   r,   rY   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r4   r   r1   )r   r   r4   r7   )r   r4   r   r   )r   strr   r>   r;   r<   )serr   
temp_dtype	new_dtyper,   rY   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   r7   r   
fill_value)r   r   r   )r   r1   r   rk   r   r1   r   rL   ra   )r   r1   ra   )TFTFT)FTF)r   r   r   r:   r;   r<   
issubclassrL   typeintegerr8   )floatsr,   rY   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/   rL   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   rk   r4   r   r   )r   r   r   r	   r   r8   r;   r<   )rL   r   using_array_managerr   r,   rY   s         r-   +test_reindex_fill_value_datetimelike_upcastr   >  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/Chicagor3   )tzrF   20131103r   hrE   r7   zLCannot compare dtypes datetime64\[ns, America/Chicago\] and datetime64\[ns\]r_   rl   r]   )r   r   rJ   rb   rc   	TypeErrorr   )r%   newidxro   rg   s       r-   /test_reindex_datetimeindexes_tz_naive_and_awarer   N  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]rk   r   r4   r   )r   r   r	   r;   assert_equal)r,   rY   s     r-   "test_reindex_empty_series_tz_dtyper   [  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 )Nr7   )r   r   r   r   r;   r<   )	p_valueso_valuesr   expected_valuesperiod_indexobject_indexr   r,   rY   s	            r-   $test_reindex_periodindex_with_objectr   b  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 )Nr4   r   zCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenr_   r1   Fr   rb   rc   r   r   r   rg   s     r-   test_reindex_too_many_argsr   ~  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 )Nr4   r   z4reindex\(\) got multiple values for argument 'index'r_   r1   r5   r7   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 )Nr4   r   r   r7   )r   r   r;   r<   )r   r,   rY   s      r-   test_reindex_no_posargsr     s[    
!Q..C[[1v[&&Fq!fQF+++H68,,,,,r/   r   ru   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   r8   r   rv   )levelr4   )levelscodes)
r   rJ   r   r   from_arraysr   r   arrayr;   r<   )r   r   r,   rY   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)r4   r   r1   r4   r   rk   z:Cannot setitem on a Categorical with a new category \(-1\)r_   rt   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   rk   r1   r4   r   )r   r   r   r   rJ   r   _datar   r   r:   r;   assert_numpy_array_equalr   logr<   )ro   	s_reindexr,   rY   
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 )Nr4   z[s]rk   r   natro   )r   r   r   r   r   getattrr;   r<   )rL   r   r,   rY   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/   );numpyr   rb   pandas._configr   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;   markxfailr.   rB   rQ   rZ   rh   rr   r   r   r   r   r   r   r   r   r   r   &skip_array_manager_not_yet_implementedparametrizer   r   r   r:   r   r   r   r   r   r   r   r    r/   r-   <module>r	     se        5 5 5 5 5 5 ) ) ) ) ) ) ) ) )                                         )N   ) ) )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/   