
    Owg8              
          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j6                  j9                   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jZ                  ej6                  j]                  dddg      ej6                  j]                  ddd  ed       g      d                      Z/d Z0d Z1ej6                  j]                  d edd        ed!d       g edd        ed!d       d"gd#d#gd#d#ejd                  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j6                  j]                  d(d)gd*ggg g gg      d+        Z7d, Z8d- Z9ej6                  j]                  dd.d/g      d0        Z:y)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                  |j                        }t        j                  |j                  |j                        sJ |j                  j	                  |j                        sJ |j                  j                  |j                        sJ |j                  dd }|j                  |      }|j                         D ]  \  }}|||   k(  rJ  | j                  dd }| j                  |      }|j                         D ]  \  }}|| |   k(  rJ  | j                  |      }	t        j                  |	      j                         sJ | j                  d d d   }
| j                  |
      }|j                         D ]  \  }}|| |   k(  rJ  | j                         }|| usJ y )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                _/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/methods/test_reindex.pytest_reindexr.      s    $$]%8%89H}22HNNCCC>>m11222>>##M$7$7888""2b)H%%h/IOO% )SmC(((()  %%b,I##I.EKKM +Soc****+!))(3K88K $$&&& %**3Q3/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                  |          | j                  j                  d      | _        t        j                  | j                  |      | j                  |   d	       y )
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2661$5	6BFFArvvq!RVV,.@qA2::a="''!*5xxx(BH 2::a="''!*uMr/   c                  H   t        ddd      } t        |       }|j                  t        d            }t	        j
                  |j                  t	        j                  d            sJ |j                         }|dd  j                         sJ |d d j                         rJ y )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
ACC[F^^E"I&F==rxx'9:::;;=D9==??CRy}}r/   c                     t        dd      } t        t        j                  j	                  d      j                  d      |       }|j                  t        |j                  dd             }|dd }|j                  j                  d       |_        t        j                  ||       |t        |j                  dd          }t        j                  ||       y )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	HBZZRXXa^,-F!BxH^^..t4HN68,RXXa^$%F68,r/   c                    t        g       }|j                  | j                  d       |j                  | j                  d      }| j                  t        | j                              }| j                  j	                  d       | _        t        j                  | |       | d d d   }d}t        j                  t        |      5  |j                  | j                  d       d d d        y # 1 sw Y   y xY w)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   s    E	MM/''M6 o33EBI  ''_-B-B(CDI+11<<TBO?I6 
1	B	*  
z	- 8


?((
78 8 8s   C--C6c                  :   t        t        j                  d      d      } | d d d   }|j                  | j                  d      }|j                  | j                  d      }t        j                  ||       t        g d      }t        j                  ||       y )	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   |   sz    ryy}G,A	
3Q3B

1775
1IAGGG4J9j145H9h/r/   c                     t        g dg d      } g d}t        g d|      }| j                  |      j                         }t        j                  ||j                  d             d}t        j                  t        |      5  | j                  |      j                  d	
      }d d d        t        j                  ||       t        g d|      }| j                  |d      }t        j                  ||       y # 1 sw Y   XxY w)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      s    &?@A$Il)4H YYy!'')F68??9#=>
9C		#	#M	= >9%++W+=>68,l)4HYYyY1F68,> >s   "C??Dc                  H   t        g dt        d            } d}d}t        j                  t        |      5  | j                  t        |            j                         }d d d        t        g dt        |            }t        j                  |       y # 1 sw Y   8xY w)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	?+1134)iAH68,4 4s   )BB!c                  *   t        dt        d            } d}t        j                  t        |      5  | j                  d      j                         }d d d        t        dt        d            }t        j                  |       y # 1 sw Y   6xY w)NFr2   r7   r   r_   r4   )r   rJ   r;   r   r   shiftbfillr<   )ro   rg   r,   rY   s       r-   test_reindex_downcastingr      sr    uE!H%A
.C		#	#M	= $!!#$e58,H68,$ $s    B		Bc                  :   t        t        j                  dd            } g d}| j                  |d      }t        t        j                  |      j                  d      |      }t        j                  ||       | j                  |dd      }t        d	d
t        j                  dg|      }t        j                  ||       | j                  |dg d      }t        d	t        j                  t        j                  dg|      }t        j                  ||       y )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    ryy7+,A!FYYviY0Fbii'..w7@H8V,YYvi3Y?Fq!RVVQ'0H8V,YYvi;NYOFq"&&"&&!,f5H8V,r/   c                    | d d d   }t        t        j                  t        |      t              |j
                        }|j                  | j
                        }|j                  t        j                  k(  sJ |j                  |j
                  d d d         }|j                  t        j                  t              k(  sJ y Nr   rk   r7   )	r   r   zeroslenintr   r   rL   r|   )r    r?   int_tsreindexed_ints       r-   test_reindex_intr      s    	1	BBHHSWC0AF NN?#8#89M "**,,, NN6<<!#45M"((3-///r/   c                 z   | d d d   }t        t        j                  t        |      t              |j
                        }|j                  | j
                        }|j                  t        j                  k(  sJ |j                  |j
                  d d d         }|j                  t        j                  k(  sJ y r   )
r   r   r   r   boolr   r   rL   object_bool_)r    r?   bool_tsreindexed_bools       r-   test_reindex_boolr      s    	1	BRXXc"gT2"((CG ___%:%:;N 2::--- __W]]3Q3%78N288+++r/   c                     | dd  }t        t        j                  t        |      t              |j
                        }|j                  | j
                  d      }t        |d d       j                         sJ y )Nr2   rk   r7   r\   r]   )	r   r   r   r   r   r   r   r   r   )r    r?   r   filled_bools       r-   test_reindex_bool_padr      sb    		BRXXc"gT2"((CG///"7"7/FKBQ $$&&&r/   c                  n   t        dd      } t        g dd      }|j                  |       }t        t        t        j
                  t        j
                  t        j
                  gg d            }| |_        t        j                  ||       t        t        dd	gg d            }d
dg|_        |j                  d
dg      }t        j                  ||       t        t        d	t        j
                  gg d            }ddg|_        |j                  ddg      }t        j                  ||       y )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1AYYuFBFFBFFBFF3PH HN68, k#sPQHVHNYY1vF68,k#rvv?STHVHNYY1vF68,r/   c                  &   t        g dg d      } g d}d}t        }| j                  |      j                  |      j                  |      }| j                  |      j                  |      j                  |      }t	        j
                  ||       y )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      su    
)
,CIJI[[#**:6==iHFzz*%--i8??	JH68,r/   c                     t        g d      } | j                  g d      }t        ddt        j                  gg d      }t	        j
                  ||       | j                  g dd      }t        g dg d      }t	        j
                  ||       t        g d      }|j                  g d      }t        ddt        j                  gg d      }t	        j
                  ||       |j                  g dd      }t        g d	g d      }t        |j                  j                  t        j                        sJ t	        j
                  ||       t        g dt        
      }|j                  g d      }t        ddt        j                  gg dt              }t	        j
                  ||       |j                  g dd      }t        g dg dt              }t	        j
                  ||       t        g d      }|j                  g d      }t        ddt        j                  gg dt              }t	        j
                  ||       |j                  g dd      }t        g dg d      }t	        j
                  ||       y )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    O$F^^I&FsC(	:H68,^^I!^4Fm95H68, )D\\)$FsC(	:H68, \\)\2Fiy1Hfll''44468, Yf-G__Y'Fq!RVVnIVDH68,__Y5_9Fm9FCH68, &'E]]9%FudBFF+9FKH68,]]9]7F*)<H68,r/   rL   zdatetime64[ns]timedelta64[ns]r   stringc                     | dk(  r|t        d      k(  rt        d      }t        t        g|       }|j	                  ddg|      }t        t        |gddgt
              }t        j                  ||       y )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   >  sl    
 !!jIaL&@q\

#e
$C[[!QJ[7FsJ'1vVDH68,r/   c                      t        ddd      } t        ddd      }t        t        d      | 	      }d
}t        j                  t
        |      5  |j                  |d       d d d        y # 1 sw Y   y xY w)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  sn    
Z$5q
AC
BS9FuQxs#A	   
y	, *			&	)* * *s   A--A6c                      t        d      j                  ddg      } t        t        gdz  d      }t        j                  | |       y )Nzdatetime64[ns, UTC]rk   r   r4   r   )r   r   r	   r;   assert_equal)r,   rY   s     r-   "test_reindex_empty_series_tz_dtyper   [  s=    /088!Q@Fseai'<=HOOFH%r/   z+p_values, o_values, values, expected_values2019Q1zQ-DEC2019Q2Allr   c                     t        |       }t        |      }t        ||      }|j                  |      }t        ||      }t	        j
                  ||       y )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  sM    & x(L?L
|
,C[[&Fo\:H68,r/   c                      t        ddg      } d}t        j                  t        |      5  | j	                  ddgd       d d d        y # 1 sw Y   y xY w)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   ~  sI    
!Q.C
PC	y	, #QFE"# # #s   A		Ac                      t        ddg      } d}t        j                  t        |      5  | j	                  ddgddg       d d d        y # 1 sw Y   y xY w)Nr4   r   z4reindex\(\) got multiple values for argument 'index'r_   r1   r5   r7   r   r   s     r-   test_reindex_double_indexr     sO    
!Q.C
AC	y	, *QF1a&)* * *s   AAc                      t        ddg      } | j                  ddg      }t        ddgddg      }t        j                  ||       y )Nr4   r   r   r7   )r   r   r;   r<   )r   r,   rY   s      r-   test_reindex_no_posargsr     sG    
!Q.C[[1v[&Fq!fQF+H68,r/   r   ru   xc                 *   t        t        t        | d               t        j                  |       d      }|j                  t        j                  dg      d      }t        t        dg| d   gg g g      d      }t        j                  ||       y )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&)nZ%;%;F%C8C [[3%[2F#q	 22r(C8H 68,r/   c                      t        g dd      } d}t        j                  t        |      5  | j	                  g dd       d d d        y # 1 sw Y   y xY w)	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     sF    
Z
0C
GC	y	, 4O34 4 4s   AAc                  @   t        dt        gt                     } | j                  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        y # 1 sw Y   y xY w)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xxBFFBFF+,H1		#	#D	) 9VVI&
q"&&"&&1H
z<89 9 9s   +A DDtimedelta64
datetime64c           
          t        t        j                  dg|  d            }|j                  t	        d            }t        t        j                  d t        t        |       dd      g|  d            }t        j                  ||       y )Nr4   z[s]rk   r   natro   )r   r   r   r   r   getattrr;   r<   )rL   r   r,   rY   s       r-   test_reindex_expand_nonnano_natr     sy     1#wc]3
4C[[A'F
!'WR's34ugSM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	     sF     5 ) )       )N  ))D	N	
-8.	0-(--- 0, '-0-0-f **#35F"GH!Yq\'BC
- D I +
-
*& 1 Hg&x(ABHg&x(A5I#J#rvv		
 Hg&x(ABHg&x(AB#J#J		
"-#"-#*- cUSENRH#=>	- ?	-4
9 =,"?@- A-r/   