
    OhQ8              
       N   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jR                  ejT                  jW                  dddg      ejT                  jW                  ddd  ed       g      d                      Z,d Z-d Z.ejT                  jW                  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jT                  jW                  d%d&gd'ggg g gg      d(        Z4d) Z5d* Z6ejT                  jW                  dd+d,g      d-        Z7y).    N)NACategoricalFloat64DtypeIndex
MultiIndexNaTPeriodPeriodIndex
RangeIndexSeries	Timedelta	Timestamp
date_rangeisnac                 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tmshares_memoryis_	identicalitemsnpisnanall)datetime_seriesstring_seriesidentitysubIndex	subSeriesidxval	subIndex2subTSstuffSeriesnonContigIndexsubNonContigresults                p/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/series/methods/test_reindex.pytest_reindexr-      s   $$]%8%89HM//@@@>>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   r0   r3   r   objectF)check_index_type)	r   r   nanr   assert_series_equalr   ilocr   astype)tsijs      r,   test_reindex_nanr@   ;   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_natrO   G   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   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	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)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   `   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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   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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      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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	?+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)NFr1   r6   r   r]   r3   )r   rH   r   r}   r~   shiftbfillr:   )rm   re   r+   rW   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   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    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   ri   r6   )	r   r   zeroslenintr   r   rJ   rz   )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   rJ   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 )Nr1   ri   r6   rZ   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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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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      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   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    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.   rJ   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   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  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/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  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]ri   r   r3   r   )r   r   r   r   assert_equal)r+   rW   s     r,   "test_reindex_empty_series_tz_dtyper   V  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 )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   ]  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)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  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)Nr3   r   z4reindex\(\) got multiple values for argument 'index'r]   r0   r4   r6   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 )Nr3   r   r   r6   )r   r   r   r:   )r   r+   rW   s      r,   test_reindex_no_posargsr     sG    
!Q.C[[1v[&Fq!fQF+H68,r.   r   rs   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   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&)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)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     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   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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 )Nr3   z[s]ri   r   natrm   )r   r   r   r   r   getattrr   r:   )rJ   r   r+   rW   s       r,   test_reindex_expand_nonnano_natr     sy     1#wc]3
4C[[A'F
!'WR's34ugSM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	
-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.   