
    .iQ                         d dl Z d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
mZ d dlmZ ej                  j!                  dddg      d        Zej                  j!                  ddd	g      d
        Zd Z G d d      Zy)    N)	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampzmsg,labels,level)zlabels \[4\] not found in level   a)zlabels \[7\] not found in level   bc                    t        j                  g dg dgddg      }t        g d|      }t        g d|      }t	        j
                  t        |       5  |j                  ||	       d d d        t	        j
                  t        |       5  |j                  ||	       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)
N         r	         r
   r   names
         indexmatchlevel)r   from_arraysr   r   pytestraisesKeyErrordrop)msglabelsr    misdfs         b/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_drop.py0test_drop_raise_exception_if_labels_not_in_levelr,      s     
		I 6sCj	IB|2&A	<r	*B	xs	+ $	vU#$	xs	+ %
e$% %$ $% %s   B-B9-B69Czlabels,level)r	   r
   )r   r   c                 &   t        j                  g dg dgddg      }t        g d|      }t        g d|      }|j	                  | |d	      }t        j                  ||       |j	                  | |d	      }t        j                  ||       y )
Nr   r   r
   r   r   r   r   ignore)r    errors)r   r!   r   r   r%   tmassert_series_equalassert_frame_equal)r'   r    r(   r)   r*   
expected_sexpected_dfs          r+   test_drop_errors_ignorer5   %   s     
		I 6sCj	IB|2&A	<r	*BeH=J1j)''&h'?K"k*    c            	      l   t        t        j                  j                  d      j	                  d      g dt        j                  ddd            } | j                  g d	   j                         } t        j                  t        d
      5  | j                  ddg       d d d        y # 1 sw Y   y xY w)Nr   )r   r   r
   r   c2012hr   )freqperiodscolumnsr   )r   r   r   r   not found in axisr   r
   r   )r   nprandomdefault_rngstandard_normalpd
date_rangeiloccopyr"   r#   r$   r%   )r*   s    r+   9test_drop_with_non_unique_datetime_index_and_invalid_keysrI   3   s     

		a 008mmFa8
B 
		#	#	%B	x':	; 
c
  s   B**B3c                   |   e Zd Zd Zd Zd Zd Zej                  j                  d e
g dg dgddg       e
g dg dgdd	g       e
g dg dgdd	g      j                  d
dg       e
g dg dgddg      j                  d
dg      g      d        Zej                  j                  dg dg dg      ej                  j                  dg dgdgg      d               Zej                  j                  dg dg dg      ej                  j                  dddgddgg      d               Zej                  j                  dg i  ej                   g        eg d       eg        eg       g      d        Zd Zd Zd Zd Zd Zd Zd  Zd! Zej                  j                  d"g d#      ej                  j                  d$d%d&g      d'               Zd( Zej                  j                  d)d*d*gg      d+        Zd, Z d- Z!d. Z"d/ Z#ej                  j                  d0dd	gd
fdgd1fg      d2        Z$d3 Z%y1)4TestDataFrameDropc                    t        g dg dg dgg dg d      }d\  |j                  _        |j                  _        |j	                  d      }|j	                  d	d
      }|j                         |j                         }}|j	                  dd      }|J |j	                  d	d
d      }|J ||||fD ]8  }|j                  j                  dk(  sJ |j                  j                  dk(  r8J  t        |j                        g dk(  sJ d}t        j                  t        |      5  |j	                  dg       d d d        t        j                  t        |      5  |j	                  dgd
       d d d        |j	                  dgd      }	t        g dd      }
t        j                  |	j                  |
       |j	                  ddgd      }	t        ddgd      }
t        j                  |	j                  |
       |j	                  dgd
d      }	t        g dd      }
t        j                  |	j                  |
       |j	                  ddgd
d      }	t        d	dgd      }
t        j                  |	j                  |
       |j	                  g d      }	t        g dd      }
t        j                  |	j                  |
       y # 1 sw Y   xY w# 1 sw Y   jxY w)Nr   r   r	   r   r   r   r   r8   defr   r?   )firstsecondr   rQ   r   axisT)inplacerW   rX   rT   rU   z\['g'\] not found in axisr   gr.   r/   namer
   r9   rW   r/   rP   rR   )r   r   r]   r?   r%   rH   listr"   r#   r$   r   r0   assert_index_equal)selfr*   df_dropped_bdf_dropped_edf_inplace_bdf_inplace_ereturn_valueobjr&   droppedexpecteds              r+   test_drop_namesz!TestDataFrameDrop.test_drop_namesD   s   	9-!#

 *;&rzzwws|wwsw+%'WWY	l#((d(;####((1d(C### ,lK 	0C99>>W,,,;;##x///	0 BJJ?222*]]83/ 	GGSEN	]]83/ 	#GGSEG"	# ''3%'1w7
gmmX6''3*X'6#s'2
gmmX6''3%a'9x8
goox8''3*1X'>#s(3
goox8 ''"X'.w7
gmmX63	 		# 	#s   ,K"KKK)c                 	   t        g dg dd      }t        j                  |j                  dd      |dg          t        j                  |j                  ddgd      |g           t        j                  |j                  g d	d
      |j                  dgd d f          t        j                  |j                  d
dgd      |j                  ddgd d f          t        j                  t        d      5  |j                  d       d d d        t        j                  t        d      5  |j                  dd       d d d        t        j                  t        d      5  |j                  ddg       d d d        t        j                  t        d      5  |j                  ddgd       d d d        t        j                  t        d      5  |j                  g dd       d d d        t        j                  |j                  dd      |       t        j                  |j                  d
dgd      |j                  g dd d f          t        j                  |j                  ddd      |       t        j                  |j                  ddgdd      |dg          t        t        t        t        d      t        dd      t        d                  g d      }t        j                  |j                  dd      |dg          t        j                  |j                  dd      |d          t        j                  |j                  g       |       |j                  t        g d            }t        d      |_        t        j                  |j                  d d!      |j                  d"gd d f          t        j                  |j                  d d"gd
      |j                  g d d f          t        t        j                  j!                  d      j#                  d#      t        d            }||j$                  d
kD      }|j                  ||j$                  d
kD     j&                  d$%      }|J t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   nxY w# 1 sw Y   DxY w# 1 sw Y   xY w# 1 sw Y   xY w)&Nr   r   r   r	   )r   r   r   r   )ABrm   r   rV   rn   r?   )r   r   r   r   r   r   r   z\[5\] not found in axisr   r   z\['C'\] not found in axisCz#\['C', 'D', 'F'\] not found in axis)ro   DFr.   r[   r   r^   abc)r
   r
   r   r?   r
   r   )XYru   ru   rowsrv   )r   r   T)r'   rX   )r   r0   r2   r%   locr"   r#   r$   r_   ziprange	set_indexr   r?   rA   rB   rC   rD   r   r   )ra   simplenu_dfr*   ri   rf   s         r+   	test_dropzTestDataFrameDrop.test_drops   s   LAB
fkk#Ak6uF
fkk3*9kEvbzR
fkk)!k<fjj!a>PQ
fkk1a&wk?QPQFTUIAVW]]8+EF 	KKN	]]8+GH 	%KK!K$	%]]8+EF 	 KKA	 ]]8+GH 	,KKc
K+	, ]]8+QR 	1KKaK0	1 	fkk!Hk=vF
KKAxK0&**Y\2J	
 	fkk#AhkGP
KKc
8K<fcUm	

 U1XuR|T%[9:O
 	ejj1j5ucU|D
ejj9j=uSzJ
ejjne4o 67U
ejj6j:EIIseQh<OP
ejj#s!j<eiiA>NO II!!!$44W=tE{
 qk?wwbl&8&8$wG###
b(+Y	 		% 	%	  	 	, 	,	1 	1s<   <R$1R1(R>SS$R.1R;>SSS"c                 2   t        j                  g dddg      }t        g dg|      }|j                  j	                         sJ t        g dg dg d	g
      }|j                  dddgd      }|j                         }|j                  j	                         rJ |j                  dd      j                  t              }t        j                  |      5  |j                  dd      }d d d        t        j                  |       y # 1 sw Y    xY w)N))r
    )b1c1)b2c2r   r9   r   )r   r   r	   rt   )r
   r   r9   rP   )r   r   r   r   )r   r   r   r	   )r?   datar
   rP   )r   r?   valuesr   rV   )r   from_tuplesr   r?   _is_lexsortedpivot_tablereset_indexr%   astypefloatr0   assert_produces_warningr2   )ra   performance_warninglexsorted_milexsorted_dfnot_lexsorted_dfri   results          r+   "test_drop_multiindex_not_lexsortedz4TestDataFrameDrop.test_drop_multiindex_not_lexsorted   s    "--3C:
 !)lC##11333 %(0BDV/W
 ,77Sz# 8 
 ,779#++99;;;$$Sq$188?''(;< 	8%**3Q*7F	8 	fh/	8 	8s   DDc                 L   t        g dg dg dgg dg d      }|j                  d      }|j                  d      }t        j                  ||       |j                  d	d
      }|j                  d	      }t        j                  ||       |j                  dd
      }|j                  d      }t        j                  ||       |j                  dgd      }|j                  dg      }t        j                  ||       |j                  dgd      j                  d	gd
      }|j                  dgd	g      }t        j                  ||       d}t	        j
                  t        |      5  |j                  dd       d d d        t	        j
                  t        |      5  |j                  dd       d d d        d}t	        j
                  t        |      5  |j                  d
       d d d        y # 1 sw Y   yxY w# 1 sw Y   NxY w# 1 sw Y   y xY w)Nr   rM   rN   r8   rO   rS   r
   r   rP   r   rV   rt   rQ   )r'   rW   r   z2Cannot specify both 'labels' and 'index'/'columns'r   r   )r'   r   )r'   r?   z>Need to specify at least one of 'labels', 'index' or 'columns')r   r%   r0   r2   r"   r#   
ValueError)ra   r*   res1res2r&   s        r+   test_drop_api_equivalencez+TestDataFrameDrop.test_drop_api_equivalence   s   	9-!#
 wws|wwSw!
dD)wwsw#wwsw#
dD)wwcw*wwsw#
dD)wwu1w%wwcUw#
dD)wwu1w%**C5q*9wwcUSEw2
dD)B]]:S1 	+GG3cG*	+ ]]:S1 	-GG3G,	- O]]:S1 	GGGO	 		+ 	+	- 	-	 	s$   6H-H&HHHH#actualr   r
   r   r   r   r   c                 b   t        |j                  t              rdnd }t        j                  d      }t        j                  t        |      5  |j                  d|d       d d d        t        j                  t        |      5  |j                  j                  d|d       d d d        |j                  dd|d      }t        j                  ||       |j                  j                  dd|d      }t        j                  |j                  |       y # 1 sw Y   xY w# 1 sw Y   xY w)	Nr   z"['c'] not found in axis"r   r9   r    rW   r   r.   )rW   r    r/   )
isinstancer   r   reescaper"   r#   r$   r%   Tr0   r2   )ra   r   r    r&   expected_no_errs        r+   "test_raise_on_drop_duplicate_indexz4TestDataFrameDrop.test_raise_on_drop_duplicate_index   s      j9tii56]]83/ 	2KK5qK1	2]]83/ 	4HHMM#UM3	4 ++cx+P
ov6 ((--!5-R
o//8	2 	2	4 	4s   DD%D"%D.r   )r   r   r   drop_labelsr   c                     |D cg c]	  }||vs| }}t        |      j                  |      }t        j                  |t        |             y c c}w )Nr   r   r%   r0   r2   )ra   r   r   iexpected_indexframes         r+   test_drop_empty_listz&TestDataFrameDrop.test_drop_empty_list   sN     &+Ca{.B!CC&++K8
eY^%DE Ds
   	AA)r   r   r   r	   r   c                     t        j                  t        d      5  t        |      j	                  |       d d d        y # 1 sw Y   y xY w)Nr@   r   r   )r"   r#   r$   r   r%   )ra   r   r   s      r+   test_drop_non_empty_listz*TestDataFrameDrop.test_drop_non_empty_list  s;     ]]8+>? 	5E"''4	5 	5 	5s   AA
empty_listlikezdatetime64[ns]dtypec                     ddgddgd}t        d      t        d      g}t        ||      }|j                         }|j                  |      }t	        j
                  ||       y )Nr   r   onetwo)column_acolumn_bz
2021-01-01r   )r   r   rH   r%   r0   r2   )ra   r   r   r   r*   ri   r   s          r+   2test_drop_empty_listlike_non_unique_datetime_indexzDTestDataFrameDrop.test_drop_empty_listlike_non_unique_datetime_index  sa     G%@<()L*ABt5) 779(
fh/r6   c                 <   g dg dg dg}t        t        |       }t        j                  |      }t	        t
        j                  j                  d      j                  d      |      }|j                  dd	      }|j                  d
gd	      }t        j                  ||       |j                  dgd	      }|j                  dgd	      }|j                  dgd	      }t        j                  ||       |j                  dd	      }|j                  dgd	      }t        j                  ||       |j                  dgd	      }|j                  dd	      }|j                  ddd      }|j                  ddgd	      }t        j                  ||       y )N)r
   topr   routine1r   routine2)r   ODr   result1result2r   )r   wxwyr   r   r   r   )r	   r   rt   r
   r   rV   )r
   r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   )r   r   r   )sortedry   r   r   r   rA   rB   rC   rD   r%   r0   r2   )ra   arraystuplesr   r*   r   ri   s          r+   test_mixed_depth_dropz'TestDataFrameDrop.test_mixed_depth_drop$  s   C=(
 V%&&v.ryy,,Q/??GQVW1%77M?73
h/%q)77/0q79=="5!6Q=?
h/,1577/0q79
h/77/0q79775q7)!!477(*EFQ  
 	h/r6   c           
      Z   t        g dt        j                  dddgg dg dd      j                  g d      j	                         }|j                  d	d
      }t        ddgdgt        j                  ddt        j                  dfgg d            }t        j                  ||       y )N)r   r   r   r           g      ?g       @)r
   r   r9   r9   rl   rm   rn   ro   rp   )rm   rn   ro   r9   ro   r   r   r   rp   )r   r   r   r   r
   r   r>   )
r   rA   nanr{   
sort_indexr%   r   r   r0   r2   ra   r*   r   ri   s       r+   $test_drop_multiindex_other_level_nanz6TestDataFrameDrop.test_drop_multiindex_other_level_nanE  s     5&&#sC0-%	 Y'Z\ 	 C(FE(("UBFFC$89
 	fh/r6   c                     t        g dg dg dgg dg d      }d}t        j                  t        |      5  |j	                  d	d
       d d d        y # 1 sw Y   y xY w)Nr   rM   rN   r8   rO   rS   z0Cannot specify both 'axis' and 'index'/'columns'r   r   r   )r   rW   )r   r"   r#   r   r%   )ra   r*   r&   s      r+   (test_drop_raise_with_both_axis_and_indexz:TestDataFrameDrop.test_drop_raise_with_both_axis_and_index]  sW    	9-!#
 A]]:S1 	'GG#AG&	' 	' 	's   AAc                    t        g dg dg dg dg dg dg dg dg d	g	g d
      }|j                  d      j                         }|j                  |dk(     }|j	                  g d      }|j                  |j                  d      j                         }||j                  j                  |j                            }|j                  |_        t        j                  ||       y )N)x-axr
   g      ?)r   r   r
   333333?)zz-czr9   g@)r   r   r
   ffffff@)x-br   r   gffffff@)r   r   r   r   )r   r   r   g@)zy-ayr
   r   )zz-br   r   g @)var1var2var3var4rt   r   r   )r   r   r   r   r   )r   groupbysizerx   r{   r%   r   r   r   isinr0   r2   )ra   r*   grp_sizedrop_idxidfr   ri   s          r+   test_drop_nonuniquez%TestDataFrameDrop.test_drop_nonuniquei  s    &&&&&&&&&
 5
 ::f%**,<<A.ll34 (..2>>@rww||HNN334~~
fh/r6   c                 8   |}|j                  ddgd      }|j                  g d   }t        j                  ||       |j                  dgd      }|j                  g d   }t        j                  ||       |j                  j                  ddgd	d
      }|j                  g d   j                  }t        j                  ||       |j                  j                  dgd	d
      }|j                  g d   j                  }t        j                  ||       y )NbarquxrT   r   )r   r   r   r   r   r   rU   )r   r   r   r   r   	   r   )rW   r    )r%   rG   r0   r2   r   )ra    multiindex_dataframe_random_datar   r   ri   s        r+   test_drop_levelz!TestDataFrameDrop.test_drop_level  s    0UEN':::o.
fh/UG84::01
fh/uen1GD::o.00
fh/ugAX>::0133
fh/r6   c                    t        g dd      }t        j                  g d      }t        t	        j
                  d      j                  dd      t        d      |	      }||d
<   |j                  d
d      }t        d      }|j                  j                  du sJ |j                  |d
      }|j                  |dk7     }t        j                  ||       y )N)r   r   r	   r	   r   idr\   )z2016-03-23 14:00z2016-03-23 15:002016-03-23 16:00r   z2016-03-23 17:00r   r   r   abr>   tstampT)append201603231600Fr   r	   )r   rE   to_datetimer   rA   arangereshaper_   r{   r   r   	is_uniquer%   rx   r0   r2   )ra   idxidxdtr*   tsr   ri   s          r+   "test_drop_level_nonunique_datetimez4TestDataFrameDrop.test_drop_level_nonunique_datetime  s    O$/
 ryy},,Q2DJcR8\\(4\0~&xx!!U***8,66#(#
fh/r6   c                 \   t        dd      }t        dd      }t        j                  ||d      } |dgt        |      z  |      }|j	                  |      }t        d	d      }t        j                  ||d      } |dgt        |      z  |      }	t        j                  ||	       y )
Nz
2017-10-29zEurope/Berlin)tzz2017-10-29 04:00:0015min)r<   r   )r   r   z2017-10-29 00:15:00)r   rE   rF   lenr%   r0   assert_equal)
ra   frame_or_seriesstartendr   r   r   expected_startexpected_idxri   s
             r+   'test_drop_tz_aware_timestamp_across_dstz9TestDataFrameDrop.test_drop_tz_aware_timestamp_across_dst  s    ,?;-/BeSw7QC#e*$4EB5!"#8_M}}^SwG"c,.?(?|T
)r6   c                    t        j                  g dg dgddg      }t        t        j                  j                  d      j                  d      |      }|j                  d	g      }|j                  j                  d
k(  sJ y )N)r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   )r   r   r   )r   r   )r   r   )
r   r!   r   rA   rB   rC   rD   r%   r   r   )ra   r   r*   r   s       r+   test_drop_preserve_namesz*TestDataFrameDrop.test_drop_preserve_names  sq    &&!34UEN
 ryy,,Q/??GuU&"||!!^333r6   	operation)__iadd____isub____imul____ipow__rX   FTc                 p   t        dt        d      i      }|j                         }t        d      |d<   |d   }t        j                  d       5  |r|j                  dd|       n|j                  dd|      } t        ||      d       t        j                  ||       d d d        y # 1 sw Y   y xY w)Nr   r   r   r   rY   )r   rz   rH   r0   r   r%   getattrr2   )ra   r   rX   r*   ri   r   s         r+   test_inplace_drop_and_operationz1TestDataFrameDrop.test_inplace_drop_and_operation  s     U1X'779(3sG''- 	0!W5WWSq'W: "GAy!!$!!"h/	0 	0 	0s   AB,,B5c                     t        j                  g dg dg      }t        g d|      }|j                  d      }t        dgt        j                  dgdgg            }t	        j
                  ||       y )	N)r   r   r   )r   jr   r   r   r   r   r   r  )r   r!   r   r%   r0   r2   )ra   r(   r*   r   ri   s        r+   $test_drop_with_non_unique_multiindexz6TestDataFrameDrop.test_drop_with_non_unique_multiindex  sd    ##_o$FGy+s#aS
(>(>u~(NO
fh/r6   indexerr
   r
   c                    t        j                  ddgddgg      }t        dt        t	        |            i|      }|j                  dg      }t        dddgit        j                  ddg            }t        j                  ||       y )	Nr
   r   r   r   r  r   r   )r   r
   )	r   from_productr   rz   r   r%   r   r0   r2   )ra   r
  r   r*   r   ri   s         r+   *test_drop_tuple_with_non_unique_multiindexz<TestDataFrameDrop.test_drop_tuple_with_non_unique_multiindex  s     %%SzC:&>?U3s8_-S9
|,1a&M!7!7Z8P!Q
 	fh/r6   c                    t        g dg dg dgg d      }|j                  dgd      }t        dgdgdggdg      }t        j                  ||       |j                  dd      }t        j                  ||       y )N)r   r   g      @)r   r
   r
   rt   r
   r   rV   r   r   r   s       r+    test_drop_with_duplicate_columnsz2TestDataFrameDrop.test_drop_with_duplicate_columns  s{    +{3=N
 #Q'qcA3_ug>
fh/1%
fh/r6   c                    t        t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      g dd      }|j                  g dd      }|j                  g dd      }|j                  d	d      }t        j                  ||       y )
Nr   r   )r
   r   r9   rP   rQ   r   )r   r   r   r   rV   )r   r   r   r   r   ro   )	r   rA   rB   rC   rD   taker%   r0   r2   )ra   r*   ri   df2r   s        r+   !test_drop_with_duplicate_columns2z3TestDataFrameDrop.test_drop_with_duplicate_columns2  s    YY**1-==a@YY**1-==a@YY**1-==a@.	
 77917-ggoAg.#A&
fh/r6   c                 R   t        dg dit        dgd            }|j                  }|j                  dgdd       t	        j
                  |j                  t        g d             ||j                         z  }t	        j
                  |j                  t        g d             y )	Nr
   r   objectr   rt   r   TrY   )r   r   r
   r%   r0   r`   r?   mean)ra   r*   r
   s      r+   .test_drop_inplace_no_leftover_column_referencez@TestDataFrameDrop.test_drop_inplace_no_leftover_column_reference  s~    Y'uH1MNDD
At,
bjj%(*CD	QVVX
bjj%(*CDr6   c                     t        t        j                  t        d      t        d      g            }t	        j
                  t        d      5  |j                  dd       d d d        y # 1 sw Y   y xY w)Nr   r   zlabels \[5\] not found in levelr   r   r   r   )r   r   r  rz   r"   r#   r$   r%   )ra   r*   s     r+   (test_drop_level_missing_label_multiindexz:TestDataFrameDrop.test_drop_level_missing_label_multiindex  sX    Z44eAha5IJK]]8+NO 	 GGAQG	  	  	 s   A,,A5z
idx, levelNc                 *   t        dddt        j                  gdd|      j                  |      }|j	                  t        dt        j                  g      |      }t        dgdd|      j                  |      }t        j                  ||       y )Nr   r   d   r
   r   r   r   )r   rE   NAr{   r%   r   r0   r2   )ra   any_numeric_ea_dtyper   r    r*   r   ri   s          r+   test_drop_index_ea_dtypez*TestDataFrameDrop.test_drop_index_ea_dtype  s     aBEE"-5I

)C. 	 255z*%8#C (<

)C. 	 	fh/r6   c                     t        ddgddgdt        d      t        d      g      }|j                  dd      }t        dgdgdt        d      g      }t        j                  ||       y )	Nr   r   r  z
2000-01-03z
2000-01-04r   r   rV   )r   r   r%   r0   r2   r   s       r+   &test_drop_parse_strings_datetime_indexz8TestDataFrameDrop.test_drop_parse_strings_datetime_index"  so    a&1v&\*Il,CD
 A.A3aS1)L:Q9RS
fh/r6   )&__name__
__module____qualname__rj   r~   r   r   r"   markparametrizer   r{   r   r   r   rA   arrayr   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r  r   r"   r6   r+   rK   rK   C   s   -7^3,j04%N [[y),S#J?y),S#J?y),S#J?II1a&Qy),S#J?II1a&Q		
99 [[Wy)&<=[[]R!qcN;F < >F [[Wy)&<=[[]aVaV,<=5 > >5
 [[BHHRL2-."I"	

	0
	00B00
'0:0&0,
*4 [[E [[Y60 70"0 [[Yj\(BC0 D000 E  [[\c3ZOseT]+KL	0 M	00r6   rK   )r   numpyrA   r"   pandasrE   r   r   r   r   r   r   pandas._testing_testingr0   r&  r'  r,   r5   rI   rK   r)  r6   r+   <module>r.     s    	      44	%	% (H)=>
+ ?
+ g0 g0r6   