
    d+7              
       N   d dl Zd dlZd dlmZmZmZmZmZm	Z	m
Z
mZ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!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             Z(d Z)d  Z*d! Z+ej"        #                    d"d#gd$ggg g gg          d%             Z,d& Z-d' Z.ej"        #                    dd(d)g          d*             Z/dS )+    N)NACategoricalFloat64DtypeIndex
MultiIndexNaTPeriodPeriodIndex
RangeIndexSeries	Timedelta	Timestamp
date_rangeisnac                    |                     |j                  }	 t          j        |j        |j                  sJ n# t          $ r Y nw xY w|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AttributeErroris_	identicalitemsisnanall)datetime_seriesstring_seriesidentitysubIndex	subSeriesidxval	subIndex2subTSstuffSeriesnonContigIndexsubNonContigresults                d/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/series/methods/test_reindex.pytest_reindexr-      s   $$]%899H"=#6GGGGGG    >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((((((s   !> 
A
A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   r/   r2   r   objectF)check_index_type)	r   r   nantm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M    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_natrP   J   s    
("5
A
A
ACC[[F^^E"II&&F=rx'9'9:::::;;==D9==??CRCy}}rA   c                     t          dd          } t          t          j                            d          |           }|                    t          |j        dd                             }|dd         }|j                            d           |_        t          j
        ||           |t          |j        dd                            }t          j
        ||           d S )Nz1/1/2000r   rE   r5   r0   r   )r   r   r   randomrandnr   listr   
_with_freqr9   r:   )rM   r=   r+   expecteds       r,   test_reindex_with_datetimesrX   V   s    
Z
,
,
,C		##3	/	/	/BZZRXad^,,--F!B$xH^..t44HN68,,,RXad^$$%F68,,,,,rA   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 )Nr5   padmethodr   zVInvalid fill method\. Expecting pad \(ffill\), backfill \(bfill\) or nearest\. Got foomatchfoo)
r   r   r   rU   rV   r9   r:   pytestraises
ValueError)r   empty	reindexedr=   msgs        r,   test_reindex_cornerrf   c   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                  F   t          t          j        d          d          } | d d d         }|                    | j        d          }|                    | j        d          }t          j        ||           t          g d          }t          j        ||           t          g d	g d
          } g d}t          g d|          }|                     |                                          }t          j        ||                    d                     |                     |                              d          }t          j        ||           t          g d|          }|                     |d          }t          j        ||           t          g dt          d                    } d}|                     t          |                                                    }t          g dt          |                    }t          j        ||           t          dt          dd                    } |                     d                              d          }t          dt          dd                    }t          j        ||           d S )Nr   int64rK   r   rZ   r[   ffill)
r   r   r   r   r3   r3      rk   r4   r4   r2   r   r/   r3   r0   )abcder5   )rm   gro   f)r2   r2   r/   r/   float64infer)downcast)r2   r0   r/   r0   )TFFTabcdagc)TTFFr   r0   r2   bfill)r   r   aranger   r   r9   r:   rj   r<   rU   rI   shiftfillna)ss2rd   
reindexed2rW   	new_indexr+   s          r,   test_reindex_padr   z   sn   ry}}G,,,A	
33Q3B

175
11IAGG44J9j11144455H9h/// 	&?&?&?@@@A$$$Illl)444H YYy!!''))F68??9#=#=>>>YYy!!'''99F68,,,lll)444HYYyY11F68,,, 	)))f>>>AIYYtI''--//F)))iAAAH68,,, 	uE!QKK(((AWWQZZg..Fe5A;;///H68,,,,,rA   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   r2   r   )g333333?g{Gz?g?r/   )	r   r   rz   r   aroundr<   r9   r:   r8   )r}   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,,,,,rA   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 Nr   ri   r5   )
r   r   zeroslenintr   r   rK   float_int_)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"'))))))rA   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   rK   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++++++rA   c                     | dd          }t          t          j        t          |          t                    |j                  }|                    | j        d          }t          |d d                                                   sJ d S )Nr0   ri   r5   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  $$&&&&&&&rA   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20000101r/   rR   )rm   rn   ro   categoryri   )values
categoriesrn   ro   r2   r   )	r   r   r   r   r   r8   r   r9   r:   )r   r}   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,,,,,rA   c                  `   t          g dg d          } g d}d}t          }|                     |                              |                              |          }|                     |                              |                              |          }t	          j        ||           d S )Nr2   r   r/   )r   r   r2   r5   )r   r2   r   r   )r   strr   r<   r9   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,,,,,rA   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   r5   r   
fill_value)r   r   r   )r   r/   r   ri   r   r/   r   rK   r_   )r   r/   r_   )TFTFT)FTF)r   r   r   r8   r9   r:   
issubclassrK   typeintegerr6   )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,,,,,rA   rK   zdatetime64[ns]timedelta64[ns]r   stringc                 B   |rt          j        d           | dk    r"|t          d          k    rt          d          }t	          t
          g|           }|                    ddg|          }t	          d |gddgt                    }t          j	        ||           d S )Nz3Array manager does not promote dtype, hence we failr   r   ri   r2   r   r   )
r`   skipr   r   r   r   r   r6   r9   r:   )rK   r   using_array_managerr   r+   rW   s         r,   +test_reindex_fill_value_datetimelike_upcastr   0  s      KIJJJ!!!jIaLL&@&@q\\

#e
$
$
$C[[!QJ[77FtZ(AfEEEH68,,,,,rA   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/Chicagor1   )tzrE   20131103r   HrD   r5   zLCannot compare dtypes datetime64\[ns, America/Chicago\] and datetime64\[ns\]r]   rj   r[   )r   r   rI   r`   ra   	TypeErrorr   )r$   newidxr}   re   s       r,   /test_reindex_datetimeindexes_tz_naive_and_awarer   B  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   r2   r   )r   r   r   r9   assert_equal)r+   rW   s     r,   "test_reindex_empty_series_tz_dtyper   O  sV    /00088!Q@@Fseai'<===HOFH%%%%%rA   z+p_values, o_values, values, expected_values2019Q1zQ-DEC2019Q2Allr   c                     t          |           }t          |          }t          ||          }|                    |          }t          ||          }t	          j        ||           d S )Nr5   )r
   r   r   r   r9   r:   )	p_valueso_valuesr   expected_valuesperiod_indexobject_indexr   r+   rW   s	            r,   $test_reindex_periodindex_with_objectr   V  sj    & x((L??L
|
,
,
,C[[&&Fo\:::H68,,,,,rA   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 )Nr2   r   zCreindex\(\) takes from 1 to 2 positional arguments but 3 were givenr]   r/   Fr   r`   ra   r   r   r   re   s     r,   test_reindex_too_many_argsr   r  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 )Nr2   r   z4reindex\(\) got multiple values for argument 'index'r]   r/   r3   r5   r   r   s     r,   test_reindex_double_indexr   z  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 )Nr2   r   r   r5   )r   r   r9   r:   )r   r+   rW   s      r,   test_reindex_no_posargsr     s[    
!Q..C[[1v[&&Fq!fQF+++H68,,,,,rA   r   rm   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   r6   r   rn   )levelr2   )levelscodes)
r   rI   r   r   from_arraysr   r   arrayr9   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,,,,,rA   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)r2   r   r/   r2   r   ri   z:Cannot setitem on a Categorical with a new category \(-1\)r]   rl   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   r/   r2   r   )r   r   r   r   rI   r   _datar   r   NaNr9   assert_numpy_array_equalassert_produces_warninglogr:   )r}   	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 )Nr2   z[s]ri   r   natr}   )r   r   r   r   r   getattrr9   r:   )rK   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,,,,,rA   )0numpyr   r`   pandasr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr9   r-   r@   rP   rX   rf   r   r   r   r   r   r   r   r   markparametrizer   r   r   r8   r   r   r   r   r   r   r   r    rA   r,   <module>r      s                                             $) $) $)N	N 	N 	N	 	 	
- 
- 
-8 8 8.&- &- &-R- - - * * *, , , ' ' '- - -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@- - -rA   