o
    de                     @   s>  d Z ddlZddlZddlZddlZddlZejj	ddZ
ejjddgddggdd	gd
ZddgifZdg diefZg ejejdgddeddfejdgfedg fejdgfeddgfejdgfeddfejdgfedfejdgfejdddfejdgfedfejddgfedfejddgfedfejddgfedfejddgfeddd fejddgfeddfejddgfedddgfejddgfed ddgfejddgfed!dgfejedejgfed"dfejddgfed#ddifejddgfed$fejddgfed%ddgfejddgfed&ddfejddgfed'fejddgfed(fejddgfed)fejddgfed*fejdgfed+edgfejdgejd,dd-fed.fejdgejd,dd-fed/fejejeed0ejdgd1fejj	d2dd3ejeed4fejeeddfejeeddgfejeededgfejd5dgifeddgfejeed6d7fejeejd8d9d:d;fejeejd<d=d>fejeejd?dd@fejeeddgfejeed ddgfejeejd!dgdAfejeejd!dgd1fejeejdddidAfejeejddBd d1fejeed"dfejeejd"dCdDfejeedEdfejeedfejeed'fejeed(fejeed)fejeed*fejeedFfejeedfejeedfejeejdGddHfejeedIfejeedJddfejeedKddfejeedLfejeed+eje fejejeedMeje ejfe
d3ejejeedNeje fe
d3ejejeedOeje fe
d3ejeejdPddAfejdgdgdQfejdRddAfejdgdgdQfejdRddSdTgdUfejeedVfejeedWdfejeedXfejg dYg dZg d[d\fejd]dgd	gd^feejeed_d`d fejejeedaeddgife
d3eejeeddfejeedbfejejeedcfejddgd3ejejeedeeje fe
d3eejeedffeejeedgfejeedhfejeedifejeedjfejejdgedjfe
d3eejeejdkddlfeejeejdkdmdngddofeejdejddpejddpgifejdkdqdlfeejdedredsgifejdkddlfejddgied,dtgfed.fejddgied,gfejd/dtdufeejeed%dgfeejeed%edgfeejeed%eddgifejeedvddfejeedwdfejeedxdfejejeedyfe
d3ejddgfedyfejddgfejdzdd1fejeejdzddAfejeejfejdgejfejeejfejdgejfejeej fejdgej fejee!fejdge!feejee"fejdge"fejeedddgfejeed{dfejdefed{dfejeed|dfejeed}edg d~ifejeed}eg dfejeeddfejeeddfejdddgfeddfejdddgfeddfejddgfedGfejdgd fedfejddgd ifedfejdgd fedfejddgd ifedfejddgfejddddfejefejddddfejddgfede#fejeede#fejddgfedfejeedfejddgde$fedfejdejddge$difedfejddgfedfejeedfejg dfedfejdg difedfejddgfejdddfejeejdddfejdejd,dd-feddfejdg diejd,dd-feddfejdejd,dd-feddfejdg diejd,dd-feddfejdejd,dd-fedddfejdg diejd,dd-fedddfejdejd,dd-feddfejdg diejd,dd-feddfejdejd,dd-feddfejdg diejd,dd-feddfejddgfedfejeedfejddgfededdqgfejeededggfejddgfededdqgfejeededggfejddgfejdddfejeejdddfejdejd,dddfeddfejdg diejd,dddfeddfejdejd,dd-feddfejdg diejd,dd-feddfejejddgfedfe
d3ejejeedfe
d3ejddgfedfejeedfejdgfeddd feejeeddd fejdgfeddd feejeeddd fejdgfedfejeedfejejeedfe
d3ejejeedTfe
d3ejejeedfe
d3ejejeedSfe
d3Z%dd Z&ej'e%dd ddd Z(dd Z)e
dd Z*ej+dg dej+ddedgfdeddgifedgdfeddgidfedgedgfeddgieddgifedgeddgifeddgiedgfgdd Z,ejj+dg eded¡eddgeddedfdeddơeddeddɡejdddqdʍeddedded|deddedΡeddedСedѡeddӡeddաeddeddedded#ddeddeddeddeddedܡeddejddddߍeddedededddiededdeddedededededededededede&ddd Z-ejj+ded/eddedԡeddeddeddeddededg	e&ddd Z.ej+dg ddd Z/ej+dg d dd Z0ej+dedgdd Z1ej+deddgeded	d
d eddededdd	dedddgeddd	gg	e
dd Z2ej+deddgeddgddgdQgej+dedTdd dd dd dd gdd Z3ej+deddgeddgddgdQgej+ddd dd dd dd dd dd d d ge
d!d" Z4d#d$ Z5dS (%  zG
An exhaustive list of pandas methods exercising NDFrame.__finalize__.
    Nznot implemented)reasonab   AB)names)r            Zfloat64ZdtypeviewZint64Ztake__getitem__Trepeatr	   Zreset_index)dropZto_frameZdrop_duplicatesZ
duplicatedroundrenamec                 C   s   | d S )Nr    xr   r   V/app/.heroku/python/lib/python3.10/site-packages/pandas/tests/generic/test_finalize.py<lambda>/   s    r   nameZset_axisZreindexr   ZfillnareplaceshiftisinZbetweenZisnaZisnullZnotnaZnotnulladd2000periodsZto_timestampZ	to_perioddot)indexzImplement binary finalize)ZmarksZ	transpose)r   r   queryzA == 1evalA + 1pythonZengineZselect_dtypesint)includeZassign)r   )columnsc                 C      | S Nr   r   r   r   r   r   _       Zffill)methodZ	set_indexZdropnaZsort_values)ZbyZ
sort_indexnlargest	nsmallestZ	swaplevelcombineZcombine_firstupdateZpivot)r   r   Zpivot_tablemeansum)r)   ZaggfuncstackZexplodeZunstack)r   r   c)r   r
      )r	   r      )r   r   CZmelt)Zid_varsZ
value_varsZapplymapc                 C   r*   r+   r   r   r   r   r   r      r,   mergeZcorrZcovzignore::RuntimeWarningZcorrwithcountZnuniqueZidxminZidxmaxmodeZquantile)numeric_onlyg      ?g      ?)qr<   )daysFz
2022-01-01z
2022-01-02D)freqZswapaxesZ	droplevelpopZsqueezeZrename_axisZxsgetZreindex_like)r   r	   r
   )r   r   r	   Z
add_prefix_Z
add_suffixr
   
   headtailsample)nr   ZastypecopyZinfer_objectsZconvert_dtypes)r   Nr
   ZinterpolateZclip)lowerr   ZasfreqH)r   r   r   r   Zat_timez12:00Zbetween_timez13:00firstZ3DlastZrankwheremasktruncate)beforeUTC)r   tzZ
tz_convertZCETZtz_localizedescribeZ
pct_changeZ	transformc                 C      | |    S r+   minr   r   r   r   r         c                 C   rU   r+   rV   r   r   r   r   r     rX   applyc                 C   r*   r+   r   r   r   r   r   r     r,   c                 C   r*   r+   r   r   r   r   r   r     r,   Zcumsumanystdc                 C   s.   t d}|t| }|r|dS t| S )Nz'(.*)?'r   )recompilesearchstrgroup)r   Zxprmr   r   r   idfn  s
   

rb   c                 C   s   t | d S )N)rb   r   r   r   r   r     rX   )paramsidsc                 C   s   | j S )z1
    An NDFrame method returning an NDFrame.
    )param)requestr   r   r   ndframe_method  s   rh   c                 C   s:   | \}}}|| }ddi|_ ||}|j ddiksJ d S )Nr   r   )attrs)rh   clsZ	init_argsr-   Zndframeresultr   r   r   test_finalize_called  s
   

rl   c                  C   sJ   t d tdddgi} d| jd< | jddd}|jddiks#J d S )NZnumexprr   r   r	   r$   r&   )pytestZimportorskippd	DataFrameri   r#   Zdfrk   r   r   r   !test_finalize_called_eval_numexpr  s
   

rq   annotate)leftrightbothargsc                 C   s  |\}}|dkrt |tst |trd S |dv r"t |ts"ddi|_|dv r0t |ts0ddi|_|tjtjtjtjtjtj	fv }|rYt |t
jrYt |t
jrY|j|ddd\}}n|rqt |t
jrqt |t
jrq|j|ddd\}}|||}|jddiksJ d S )Nru   >   ru   rs   r   r   F)ZaxisrI   )
isinstancer'   ri   operatoreqnegtgeltlern   ro   Seriesalign)rg   rv   rr   Zall_binary_operatorsrs   rt   Zis_cmprk   r   r   r   test_binops  s*   


r   r-   
capitalizecasefoldcatcontainsencodezutf-8endswithextractz(\w)(\d))expandfindfindallr!   lenljustrJ   lstripmatchz\w	normalizeNFCpad	partitionrfindrindexrjust
rpartitionrstripsliceZslice_replace)repl
startswithstripswapcase	translateupperwrapzfillisalnumisalphaisdigitisspaceislowerisupperistitle	isnumeric	isdecimalZget_dummies)re   c                 C   s6   t dg}ddi|_| |j}|jddiksJ d S )NZa1r   r   )rn   r   ri   r_   r-   srk   r   r   r   test_string_method  s   6

r   strftimez%Yfloorceil
month_nameday_namec                 C   >   t t jddd}ddi|_| |j}|jddiksJ d S Nr   r   r   r   r   )rn   r   
date_rangeri   dtr   r   r   r   test_datetime_methodJ  s   

r   attr)datetimetimetzyearmonthdayhourminutesecondmicrosecondZ
nanosecondZ	dayofweekZday_of_weekZ	dayofyearZday_of_yearZquarterZis_month_startZis_month_endZis_quarter_startZis_quarter_endZis_year_startZis_year_endZis_leap_yearZdaysinmonthZdays_in_monthc                 C   @   t t jddd}ddi|_t|j| }|jddiksJ d S r   )rn   r   r   ri   getattrr   r   r   rk   r   r   r   test_datetime_property`  s   
r   )r>   secondsmicrosecondsnanoseconds
componentsc                 C   r   r   )rn   r   timedelta_rangeri   r   r   r   r   r   r   test_timedelta_property  s   
r   total_secondsc                 C   r   r   )rn   r   r   ri   r   r   r   r   r   test_timedelta_methods  s   

r   Zadd_categoriesr5   Z
as_orderedZas_unorderedc                 C   s
   t | dS )Ncodes)r   r   r   r   r   r        
 Zremove_categoriesZremove_unused_categoriesZrename_categories)r   r   Zreorder_categoriesZset_categoriesc                 C   s<   t jddgdd}ddi|_| |j}|jddiksJ d S )Nr   r   categoryr   r   )rn   r   ri   r   r   r   r   r   test_categorical_accessor  s   

r   objc                 C   s   |  dd S )Nc                 S   r*   r+   r   )yr   r   r   r     r,   z<lambda>.<locals>.<lambda>)rY   r   r   r   r   r         c                 C   
   |  dS )Nr3   Zaggr   r   r   r   r     r   c                 C   r   )Nr2   r   r   r   r   r   r     r   c                 C   r   )NZmedianr   r   r   r   r   r     r   c                 C   s6   ddi| _ || jddgdd}|j ddiksJ d S )Nr   r   r   F)Z
group_keysri   groupbyr   r-   rk   r   r   r   test_groupby_finalize  s   
r   c                 C   s   |  ddgS )Nr3   r:   r   r   r   r   r   r     r   c                 C   r   )Nr[   r   r   r   r   r   r     r   c                 C   r   )Nvarr   r   r   r   r   r     r   c                 C   r   )NZsemr   r   r   r   r   r     r   c                 C   r   )Nsizer   r   r   r   r   r     r   c                 C   r   )NZohlcr   r   r   r   r   r     r   c                 C   r   )NrT   r   r   r   r   r   r     r   c                 C   s2   ddi| _ || ddg}|j ddiksJ d S )Nr   r   r   r   r   r   r   r   %test_groupby_finalize_not_implemented  s   
r   c                  C   s8   t dddgi} t ddg| }|jd u sJ d S )Nr   r   r	   )rn   ro   r   Z__finalize__r   rp   r   r   r   test_finalize_frame_series_name  s   r   )6__doc__rx   r\   numpynprm   Zpandasrn   markZxfailZnot_implemented_markZ
MultiIndexZfrom_productmiZ
frame_dataZframe_mi_datar   arraymethodcallerZNAZperiod_ranger   rf   ro   r   filterwarningsZ	TimedeltaZ
datetime64ZPeriod	Timestampnegposinvabsr   floatobjectZ_all_methodsrb   Zfixturerh   rl   rq   Zparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sb   	 
	
  %)123456789:;<=>?@ABCDEFGHIJKLMNOQV^fnpuyz{}         
      "  %  &  '  (  ,  3  :  A  I  N  R  U  X  _  `  a  b  f  g  h  j  k  l  m  n  o  
p  q  r  s  t  u  v  w  y  ~                           	    
                                                                
    $
    )
    .
    3    8    =
    B
    G
    L
    P    Q    "R    S    "T    U    V    W    Y
    ^
    c
    h
    l    p    t    u    v    w    ~                                             	


!




	
















 !"#
$
%&'()*+,-./1
5










(
(