
    .iD              
          d dl m Z  d dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZ ej                  j!                  d      Zej                  j%                  d ej&                  d ej(                  d d	      i       ej*                   ej(                  d d	      d
      g      d        Zd Zd Zej                  j%                  deej&                  g      d        Zy)    )datetimeN)Pandas4Warning)	DataFrameIndexSeries)get_groupby_method_argszMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjA
   namec                 X   t        | t              r|dv rt        j                  d|        | j	                  t        j                  dd            }t        |j                  d      t        |             sJ t        ||       }|dk(  rt        nd }t        |      j                   d}t        j                  ||      5   t        ||      | }d d d        t        j                  ||      5   |j                  |g| }d d d        h d}t        | t               r ||v rt        t        j"                        sJ t        t        |             sJ t        |t               rt        j$                  |       y t        j&                  |       y # 1 sw Y   xY w# 1 sw Y   xY w)	N>   corrwithzNot applicable for Series and r   r   r   z.corrwith is deprecated)match>   sizengroupcumcount)
isinstancer   pytestskipgroupbynparange	get_grouptyper   r   __name__tmassert_produces_warninggetattraggr   SubclassedSeriesassert_frame_equalassert_series_equal)	r	   groupby_funcgroupedargswarnmsgresult1result2slicess	            h/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_groupby_subclass.pytest_groupby_preserves_subclassr-      su    #v<<#?4\NCDkk"))Ar*+G g''*DI666"<5D)Z7>TD']##$$;
<C		#	#D	4 80''<0$78		#	#D	4 3'++l2T23 ,F#y!lf&<'2#6#6777'49--- '9%
gw/
w0!8 83 3s    F/F F F)c                     t        j                  g dg dg dd      } d| j                  v sJ d| _        | j	                  d      D ]  \  }}|j                  dk(  rJ  d }| j	                  d      j                  |      }t        j                  dgd	z  t        g dd
            }t        j                  ||       | j	                  d      j                  |      }t        j                  ||       | j	                  d      ddg   j                  |      }t        j                  ||       d }t        j                  g d      }d|_        |j	                  | d         j                  |      }t        j                  ||       |j	                  | d         j                  |      }t        j                  ||       y )N         r0   r0   r1         	   abctestattrhellor;   c                     t        | t        j                        sJ t        | d      sJ | j                  dk(  sJ | j                  S Nr<   r=   )r   r   SubclassedDataFramehasattrr<   groups    r,   funcz-test_groupby_preserves_metadata.<locals>.funcG   sD    %!7!7888uj)))~~(((~~    r2   r   )indexr9   r:   c                 n    t        | t        j                        sJ t        | d      sJ | j                  S )Nr<   )r   r   r!   rA   r<   rB   s    r,   func2z.test_groupby_preserves_metadata.<locals>.func2X   s2    %!4!4555uj)))~~rE   )
r   r@   	_metadatar<   r   applyr!   r   r#   r    )	custom_df_group_dfrD   resultexpectedrH   custom_seriess           r,   test_groupby_preserves_metadatarQ   >   s   &&YYY'WXI,,,,, I ((- ,8  G+++, s#))$/F""G9q=ic8RSH68,s#))$/F68, s#S#J/55d;F68,
 ''	2M$M""9S>288?F68,""9S>266u=F68,rE   c                     t        j                  g dg dg dd      } d| _        d }| j                  d      j	                  |      }t        |d      sJ d	       |j                  dk(  sJ t        j                  g d      }d|_        d
 }|j                  | d         j	                  |      }t        |d      sJ d       |j                  dk(  sJ y )Nr/   r3   r4   r8   r=   c                     t        | t        j                        sJ t        | d      sJ | j                  dk(  sJ | j                         S r?   )r   r   r@   rA   r<   sumrB   s    r,   sum_funcz7test_groupby_apply_preserves_metadata.<locals>.sum_funcj   sF    %!7!7888uj)))~~(((yy{rE   r;   r<   z*DataFrame apply() should preserve metadatac                     t        | t        j                        sJ t        | d      sJ | j                  dk(  sJ | j                         S r?   )r   r   r!   rA   r<   rT   rB   s    r,   sum_series_funcz>test_groupby_apply_preserves_metadata.<locals>.sum_series_funcw   sF    %!4!4555uj)))~~(((yy{rE   z'Series apply() should preserve metadata)r   r@   r<   r   rJ   rA   r!   )rK   rU   rN   rP   rW   s        r,   %test_groupby_apply_preserves_metadatarX   e   s    &&YYY'WXI I s#))(3F6:&T(TT&??g%%%''	2M$M ""9S>288IF6:&Q(QQ&??g%%%rE   c                     | t        dj                         t              g dt        ddddd      t        ddddd	      t        dd
ddd      t        dd
dd
d      t        ddddd      t        ddddd      gd      }|j	                  d      }|j                  d      j                  d      j                         }t        ||       sJ y )NzCarl Carl Carl Carl Joe Carl)dtype)   r2      r0   r7   r2   i  r7   r0      r   r\   r      r2      r1      )BuyerQuantityDaterc   ra   5D)	r   splitobjectr   	set_indexr   resamplerT   r   )r	   dfrN   s      r,   (test_groupby_resample_preserves_subclassrj      s     
:@@B&Q+q!R+q!R+r1b!,r1b!,r1b!,q!R+	

B 
f	B ZZ ))$/335Ffc"""rE   )r   numpyr   r   pandas.errorsr   pandasr   r   r   pandas._testing_testingr   pandas.tests.groupbyr   markfilterwarnings
pytestmarkparametrizer@   r   r!   r-   rQ   rX   rj    rE   r,   <module>rv      s       ( 
  8[[''S

 	YRYYq"%567IBIIa,3711D$-N&: B,B,B CD# E#rE   