o
    i}                     @  s   d dl mZ d dlmZmZ d dlZd dlZd dlZd dlm	Z	m
Z
 d dlZd dlmZ d dlmZmZ ejdddd	d
 ZG dd dZG dd deZG dd deZG dd deZG dd deZG dd deZdS )    )annotations)datetime	timedeltaN)IS64is_platform_windows)Float64Index
Int64IndexTclass)autousescopec                 #  sz     j }t|j|j|jg} fdd} jj}|js|j	r$d V  d S |D ]}||s7t
d|j d| q&d V  d S )Nc                   s.   | \ j jj}t fdd|D S )Nc                 3  s.    | ]}|j v o |j v o|j v V  qd S Nname.0xdtypeklassmethod ^/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/indexing/test_coercion.py	<genexpr>'   s    
z<check_comprehensiveness.<locals>.has_test.<locals>.<genexpr>)nodesessionitemsany)combo	cls_funcsrequestr   r   has_test$   s
   

z)check_comprehensiveness.<locals>.has_testztest method is not defined: z, )cls	itertoolsproductklassesdtypesr   configoptionlfkeywordAssertionError__name__)r    r"   combosr!   optsr   r   r   r   check_comprehensiveness   s   

r/   c                   @  s(   e Zd ZddgZg dZedd ZdS )CoercionBaseindexseries)	objectint64float64
complex128bool
datetime64datetime64tztimedelta64periodc                 C  s   t | r   NotImplementedErrorselfr   r   r   r   K   s   zCoercionBase.methodN)r,   
__module____qualname__r%   r&   propertyr   r   r   r   r   r0   <   s
    r0   c                   @  sF  e Zd ZU dZg Zded< dd Zdd Zej	
dd	efd
efdefgdd Zej	
dd
ejfdejfd	efgdd Zej	
dd
efdejfd	efgdd Zej	jdddd Zej	jdddd Zej	jdddd Zej	jdddd Zej	jdddd Zej	jdddd  Zej	jddd!d" Zd#S )$TestSetitemCoercionsetitemz	list[str]r%   c                 C  s>   t ddg}t|j|d d < t ddg}t|| d S )Na   )pdSerieslistvaluestmassert_series_equal)r?   serexpectedr   r   r   0test_setitem_series_no_coercion_from_values_listX   s   zDTestSetitemCoercion.test_setitem_series_no_coercion_from_values_listc                 C  s   |  }d}t|tr|jjtjkrt}t	| d||< W d   n1 s(w   Y  t
jg d|d}t|| |jj|ksDJ |  }d|j|< t
jg d|d}t|| |jj|ksdJ dS )z-test index's coercion triggered by assign keyN   )rF            rP   r1   )copy
isinstanceintr1   r   npr5   FutureWarningrK   assert_produces_warningrG   rH   rL   loc)r?   original_seriesloc_keyexpected_indexexpected_dtypetempwarnexpr   r   r    _assert_setitem_index_conversiona   s   

z4TestSetitemCoercion._assert_setitem_index_conversionzval,exp_dtyper   rP   皙?c                 C  s   t jg dtdd}|jjtksJ |tu r;| }d}tj	||d d|d< W d    d S 1 s4w   Y  d S t 
td|g }| |||| d S )NrF   rQ   rR   rS   abcdrT   /index 5 is out of bounds for axis 0 with size 4matchrP   )rG   rH   rI   r1   r   r3   
IndexErrorrU   pytestraisesIndexrc   )r?   val	exp_dtypeobjr`   msg	exp_indexr   r   r   test_setitem_index_objectx   s   
"z-TestSetitemCoercion.test_setitem_index_objectc                 C  sH   t g d}|jjtjksJ t dddd|g}| |||| d S )Nre   r   rF   rQ   rR   )rG   rH   r1   r   rX   r4   rm   rc   )r?   rn   ro   rp   rr   r   r   r   test_setitem_index_int64   s   z,TestSetitemCoercion.test_setitem_index_int64gffffff@c           
   	   C  s   t jg dg dd}|jjtjksJ |tu r_| }d}tj	||d% d}t
jt|d d|d< W d    n1 s>w   Y  W d    n1 sMw   Y  tjjdd	}|j| t d
ddd|g}	| |||	| d S )Nre   )rd    @@ffffff@rT   rg   rh   zTreating integers as positionalrP   z%TODO_GH12747 The result must be floatreasonrd   ru   rv   rw   )rG   rH   r1   r   rX   r5   rj   rU   rk   rl   rK   rZ   rY   markxfailr   
add_markerrm   rc   )
r?   rn   ro   r    rp   r`   rq   depr_msgrz   rr   r   r   r   test_setitem_index_float64   s    
z.TestSetitemCoercion.test_setitem_index_float64Test not implementedrx   c                 C     t r   r<   r>   r   r   r   test_setitem_series_period      z.TestSetitemCoercion.test_setitem_series_periodc                 C  r   r   r<   r>   r   r   r   test_setitem_index_complex128   r   z1TestSetitemCoercion.test_setitem_index_complex128c                 C  r   r   r<   r>   r   r   r   test_setitem_index_bool   r   z+TestSetitemCoercion.test_setitem_index_boolc                 C  r   r   r<   r>   r   r   r   test_setitem_index_datetime64   r   z1TestSetitemCoercion.test_setitem_index_datetime64c                 C  r   r   r<   r>   r   r   r   test_setitem_index_datetime64tz   r   z3TestSetitemCoercion.test_setitem_index_datetime64tzc                 C  r   r   r<   r>   r   r   r   test_setitem_index_timedelta64   r   z2TestSetitemCoercion.test_setitem_index_timedelta64c                 C  r   r   r<   r>   r   r   r   test_setitem_index_period   r   z-TestSetitemCoercion.test_setitem_index_periodN)r,   r@   rA   r   r%   __annotations__rO   rc   rk   rz   parametrizer3   rj   rs   rX   r4   r5   rt   r~   r{   r   r   r   r   r   r   r   r   r   r   r   rC   P   s>   
 	








rC   c                	   @  s  e Zd ZdgZdZdd Zejddde	fdde	fdde	fd	d	e	fgd
d Z
ejdddejfddejfdde	fd	d	e	fgdd Zejdddejfddejfdde	fd	d	e	fgdd Zejjdeddfejddddfgddgdejdedejddddgdd Zdd Zejdejd d!d"d d#fedede	fdde	fd	d	e	fgd$d% Zejjd&d'd(d) Zejjd&d'd*d+ Zd,S )-TestInsertIndexCoercionr1   insertc                 C  s2   |  }|d|}t|| |j|ksJ dS )z!test coercion triggered by insertrF   N)rU   r   rK   assert_index_equalr   r?   originalvaluerN   r_   targetresr   r   r   _assert_insert_conversion   s   z1TestInsertIndexCoercion._assert_insert_conversionz"insert, coerced_val, coerced_dtyperF   rd   Fr   c                 C  sD   t td}|jtksJ t d|dddg}| |||| d S )Nrf   rE   bcd)rG   rm   rI   r   r3   r   r?   r   coerced_valcoerced_dtyperp   rb   r   r   r   test_insert_index_object   s   
z0TestInsertIndexCoercion.test_insert_index_objectc                 C  D   t g d}|jtjksJ td|dddg}| |||| d S )Nre   rF   rQ   rR   rS   )r   r   rX   r4   rG   rm   r   r   r   r   r   test_insert_index_int64      
z/TestInsertIndexCoercion.test_insert_index_int64      ?c                 C  r   )N)r          @      @      @r   r   r   r   )r   r   rX   r5   rG   rm   r   r   r   r   r   test_insert_index_float64   r   z1TestInsertIndexCoercion.test_insert_index_float64fill_val,exp_dtype
2012-01-01datetime64[ns]
US/Easterntzdatetime64[ns, US/Eastern]r8   r9   idsinsert_value
Asia/Tokyoc           
      C  s  t jg d|jd}|j|ksJ t jd| dddg|jd}| |||| |jrt d}|d|}|t	d|}|jt	ksFJ t
|| t jdd	d}t
jtd
d |d|}W d    n1 skw   Y  |t	d|}t
|| n#t jdd	d}|d|}|t	d|}|jt	ksJ t
|| d}	|d|	}|t	d|	}|d |	ksJ |jt	ksJ t
|| d S )N)
2011-01-01
2011-01-02
2011-01-03
2011-01-04r   r   r   r   r   r   rF   r   mismatched timezonerh   )rG   DatetimeIndexr   r   dater   	Timestampr   astyper3   rK   r   rZ   rY   )
r?   fill_valro   r   rp   rb   tsresultrN   itemr   r   r   test_insert_index_datetimes   s@   

z3TestInsertIndexCoercion.test_insert_index_datetimesc                 C  s   t g d}|jdksJ t g d}| |t d|d t ddfD ]}|d|}|td|}|jtks?J t	
|| q'd S )N)1 day2 day3 day4 daytimedelta64[ns])r   10 dayr   r   r   r   r   rF   )rG   TimedeltaIndexr   r   	Timedeltar   r   r   r3   rK   r   )r?   rp   rb   r   r   rN   r   r   r   test_insert_index_timedelta64;  s   z5TestInsertIndexCoercion.test_insert_index_timedelta64z2012-01Mfreq	period[M]c           
   	   C  s  t jg ddd}|jdksJ t jddd|t jdddt jdddt jdddg}t|t jrLt j|dd}| |||| | |t||| d S |d	|}|t	d	|}t
|| t|t js|d	t|}|t	d	t|}t
|| d
}	tjt|	d- t
t t j|dd W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )N)2011-012011-022011-032011-04r   r   r   r   r   r   r   r   z%Unexpected keyword arguments {'freq'}rh   )rG   PeriodIndexr   PeriodrV   r   strr   r   r3   rK   r   r   rk   rl   	TypeErrorrZ   rY   rm   )
r?   r   r   r   rp   datarb   r   rN   rq   r   r   r   test_insert_index_periodK  s6   
"z0TestInsertIndexCoercion.test_insert_index_periodr   rx   c                 C  r   r   r<   r>   r   r   r   test_insert_index_complex128y  r   z4TestInsertIndexCoercion.test_insert_index_complex128c                 C  r   r   r<   r>   r   r   r   test_insert_index_bool}  r   z.TestInsertIndexCoercion.test_insert_index_boolN)r,   r@   rA   r%   r   r   rk   rz   r   r3   r   rX   r4   r5   r   r   rG   r   r   r   r   r   r{   r   r   r   r   r   r   r      sr    
	


	


	/
	%
r   c                	   @  s  e Zd ZdZeg dZdd Zdd Zdd Z	e
jd	d
efdefdefdefgdd Ze
jd	d
ejfdejfdejfdefgdd Ze
jdd
ejfdejfdejfdefgdd Ze
jd	d
ejfdejfdejfdefgdd Ze
jd	d
efdefdefdejfgdd Ze
jjd	eddfejdddefgddgdd d! Ze
jjd"d#d$d% Ze
jjd"d#d&d' Ze
jjd"d#d(d) Ze
jjd"d#d*d+ Ze
jd,ejd-d.e d-d.e!d-d/gd0d1 Z"d2d3 Z#d4S )5TestWhereCoercionwhereTFTFc                 C  s2   |  }|||}t|| |j|ksJ dS )z test coercion triggered by whereN)rU   r   rK   assert_equalr   )r?   r   condrJ   rN   r_   r   r   r   r   r   _assert_where_conversion  s   z*TestWhereCoercion._assert_where_conversionc                   sx    du r|g d}nt  ttjfrtj dd}n| fdddD }||d |d	 |d
 |d g|d}||fS )NT)TFTTrS   periodsc                 3  s    | ]}|  V  qd S r   r   r   r   r   r   r     s    z3TestWhereCoercion._construct_exp.<locals>.<genexpr>)rP            r   rF   rQ   rR   r   )rV   r   rX   r8   rG   
date_range)r?   rp   r   r   ro   rJ   rb   r   r   r   _construct_exp  s   $z TestWhereCoercion._construct_expc                 C  sb   || j }||d ||d |g|d}| ||||| | ||||\}}| ||||| d S )Nr   rQ   r   )_condr   r   )r?   rp   r   r   ro   r   rb   rJ   r   r   r   	_run_test  s
   
zTestWhereCoercion._run_testr   rF   rd         ?      ?Tc                 C  s2   |}|t d}|jtksJ | |||| d S )Nrf   )rI   r   r3   r   r?   index_or_seriesr   ro   r   rp   r   r   r   test_where_object  s   z#TestWhereCoercion.test_where_objectc                 C  4   |}|g d}|j tjksJ | |||| d S )Nre   )r   rX   r4   r   r?   r   r   ro   r    r   rp   r   r   r   test_where_int64     z"TestWhereCoercion.test_where_int64zfill_val, exp_dtypec                 C  r   )N)rd   皙@ffffff
@皙@)r   rX   r5   r   r   r   r   r   test_where_float64  r   z$TestWhereCoercion.test_where_float64c                 C  s:   |}|g dt jd}|jt jksJ | |||| d S )N)r          @       @      @      @      @      @r   )rX   r6   r   r   r   r   r   r   test_where_complex128  s   
z'TestWhereCoercion.test_where_complex128c                 C  s6   t j}|g d}|jtjksJ | |||| d S )Nr   )rG   rH   r   rX   bool_r   )r?   r   ro   r   rp   r   r   r   test_where_series_bool  s   z(TestWhereCoercion.test_where_series_boolr   r   r   r   r8   r9   r   c                 C  s   |}|t jddddd }|jdksJ |}|dkr2|| | fD ]
}| |||| q%d S || fD ]
}| |||| q8d S )Nr   rS   Dr   r   r   )rG   r   
_with_freqr   to_pydatetimeto_datetime64r   )r?   r   r   ro   r   rp   fvscalarr   r   r   test_where_datetime64  s   	z'TestWhereCoercion.test_where_datetime64r   rx   c                 C  r   r   r<   r>   r   r   r   test_where_index_complex128  r   z-TestWhereCoercion.test_where_index_complex128c                 C  r   r   r<   r>   r   r   r   test_where_index_bool  r   z'TestWhereCoercion.test_where_index_boolc                 C  r   r   r<   r>   r   r   r   test_where_series_timedelta64  r   z/TestWhereCoercion.test_where_series_timedelta64c                 C  r   r   r<   r>   r   r   r   test_where_series_period  r   z*TestWhereCoercion.test_where_series_periodr   	   daysr   c                 C  s   t jddd}tg d}t d||dg}|||}t|| tdd}t j	|d |||d	 gt
d
}|d |u s@J |||}t|| d S )Nz1 DayrS   r   )TFFTz4 DaysNaTnsr   rR   r   rF   )rG   timedelta_rangerX   arrayr   r   rK   r   r8   rm   r3   )r?   r   tdir   rN   r   dtnatr   r   r   test_where_index_timedelta64  s   z.TestWhereCoercion.test_where_index_timedelta64c           
      C  s.  t jdddd}|d}tg d}|d |jd  }t ||d	 |g}|||}t	|| tj
||jd  td
}|||}t |d |d	 |d g}t	|| t jdd}t j||d	 |gtd
}|||}t	|| t dd}	t j|	|d	 |	gtd
}|||	}t	|| d S )N
2016-01-01rR   QSr   Q)FTF
   rF   r   r   rQ   rS   r  z
2020-04-21r   )rG   r   	to_periodrX   r
  r   r   r   rK   r   asarrayr3   r   rm   r   )
r?   dtipir   r   rN   r   othertdperr   r   r   test_where_index_period  s&   
z)TestWhereCoercion.test_where_index_periodN)$r,   r@   rA   r   rX   r
  r   r   r   r   rk   rz   r   r3   r   r4   r5   r6   r   r   r   r   r   rG   r   r   r{   r   r  r  r  r   r   r:   r  r  r   r   r   r   r     sp    		
 
 

	





 
r   c                   @  s  e Zd ZdZejjdddd Zdd Zej	dd	e
fd
e
fde
fde
fgdd Zej	dd	ejfd
ejfdejfde
fgdd Zej	dd	ejfd
ejfdejfde
fgdd Zejj	deddfejddde
fd	e
fde
fgg dddd Zej	dejddddfede
fejddde
fd	e
fde
fgdd  Zej	d!d	d
ddejd	d"d#d$ejdddedejd	d%ed&d'g	d(d) Zejjddd*d+ Zejjddd,d- Zejjddd.d/ Zejjddd0d1 Zejjddd2d3 Zej	d!d	d
ddejd	d"d#d$ejdddedejd	d%ed&d4g	d5d6 Zejjddd7d8 Zejjddd9d: Z d;S )<TestFillnaSeriesCoercionfillnar   rx   c                 C  r   r   r<   r>   r   r   r   test_has_comprehensive_tests<  r   z5TestFillnaSeriesCoercion.test_has_comprehensive_testsc                 C  s0   |  }||}t|| |j|ksJ dS )z!test coercion triggered by fillnaN)rU   r  rK   r   r   r   r   r   r   _assert_fillna_conversion@  s   
z2TestFillnaSeriesCoercion._assert_fillna_conversionzfill_val, fill_dtyperF   rd   r   Tc                 C  sH   |}|dt jddg}|jtksJ |d|ddg}| |||| d S )NrE   r   r   )rX   nanr   r3   r  r?   r   r   
fill_dtyper   rp   rb   r   r   r   test_fillna_objectG  s
   z+TestFillnaSeriesCoercion.test_fillna_objectzfill_val,fill_dtypec                 C  sJ   |}|dt jddg}|jt jksJ |d|ddg}| |||| d S )Nrd   r   r   )rX   r  r   r5   r  r   r   r   r   test_fillna_float64S  s
   z,TestFillnaSeriesCoercion.test_fillna_float64c                 C  sP   |}|dt jddgt jd}|jt jksJ |d|ddg}| |||| d S )Nr   r   r   r   )rX   r  r6   r   r  r   r   r   r   test_fillna_complex128_  s
   
z/TestFillnaSeriesCoercion.test_fillna_complex128r   r   r   r   r   )r8   r9   r3   r3   r   c                 C  sl   |}|t dt jt dt dg}|jdksJ |t d|t dt dg}| |||| d S )Nr   r   r   r   )rG   r   r  r   r  r   r   r   r   test_fillna_datetimep  s"   z-TestFillnaSeriesCoercion.test_fillna_datetimer   r   c           	      C  s   |}d}|t jd|dt jt jd|dt jd|dg}|jdks#J |t jd|d|t jd|dt jd|dg}d }t|dd d urN|j|d jkrNt}tj|d	d
 | 	|||| W d    d S 1 siw   Y  d S )Nr   r   r   r   r   r   r   r   r   rh   )
rG   r   r  r   getattrr   rY   rK   rZ   r  )	r?   r   r   r!  r   r   rp   rb   ra   r   r   r   test_fillna_datetime64tz  s.    "z1TestFillnaSeriesCoercion.test_fillna_datetime64tzr   rQ   leftclosedr  r  r   c                 C  sr   t jdddddtj}t|jt jsJ ||}||d ||d |d |d	 gtd
}t}| 	|||| d S )Nr   g      @rightr)  rF   r   rQ   rR   rS   r   )
rG   interval_ranger   rX   r  rV   r   IntervalDtyper3   r  )r?   r   r   iirp   rb   r!  r   r   r   test_fillna_interval  s   &z-TestFillnaSeriesCoercion.test_fillna_intervalc                 C  r   r   r<   r>   r   r   r   test_fillna_series_int64  r   z1TestFillnaSeriesCoercion.test_fillna_series_int64c                 C  r   r   r<   r>   r   r   r   test_fillna_index_int64  r   z0TestFillnaSeriesCoercion.test_fillna_index_int64c                 C  r   r   r<   r>   r   r   r   test_fillna_series_bool  r   z0TestFillnaSeriesCoercion.test_fillna_series_boolc                 C  r   r   r<   r>   r   r   r   test_fillna_index_bool  r   z/TestFillnaSeriesCoercion.test_fillna_index_boolc                 C  r   r   r<   r>   r   r   r   test_fillna_series_timedelta64  r   z7TestFillnaSeriesCoercion.test_fillna_series_timedelta64Wc                 C  sr   t jdddddt j}t|jt jsJ ||}||d ||d |d |d gtd	}t}| |||| d S )
Nr  rS   r   r   rF   r   rQ   rR   r   )	rG   period_ranger   r  rV   r   PeriodDtyper3   r  )r?   r   r   r  rp   rb   r!  r   r   r   test_fillna_series_period  s   &z2TestFillnaSeriesCoercion.test_fillna_series_periodc                 C  r   r   r<   r>   r   r   r   test_fillna_index_timedelta64  r   z6TestFillnaSeriesCoercion.test_fillna_index_timedelta64c                 C  r   r   r<   r>   r   r   r   test_fillna_index_period  r   z1TestFillnaSeriesCoercion.test_fillna_index_periodN)!r,   r@   rA   r   rk   rz   r{   r  r  r   r3   r"  rX   r5   r6   r#  r$  rG   r   r%  r'  Intervalr   r   r/  r0  r1  r2  r3  r4  r8  r9  r:  r   r   r   r   r  6  s    

 

	
















r  c                   @  s  e Zd ZU dgZdZi Zded< ddged< dd	ged
< ddged< ddged< ddged< ededged< dD ]Z	de	 dZ
ejde	dejde	dgee
< q<ededged< ejddgdd d! Zejg d"dd#d$ Zejg d"g d%d&d'd( Zejd)d* Zd+d, Zejjd-g d.dd/ejjd0d1d2gdd/d3d4 Zejjd-g d5dd/ejjd0g d5dd/d6d7 Zejjd8d9d:d; Zd<S )=TestReplaceSeriesCoercionr2   replacezdict[str, list]reprE   r   r3   rS   rP   r4   rd   r   r5   r   r   r6   TFr7   r   r   r   )UTCr   zdatetime64[ns, ]r   r   r   r   dict)paramsc                 C     |j S r   paramr?   r    r   r   r   how  s   zTestReplaceSeriesCoercion.how)	r3   r4   r5   r6   r7   r   datetime64[ns, UTC]r   r   c                 C  rC  r   rD  rF  r   r   r   from_key"  s   z"TestReplaceSeriesCoercion.from_key)	r3   r4   r5   r6   r7   r8   r9   r9   r:   )rB  r   c                 C  rC  r   rD  rF  r   r   r   to_key2  s   z TestReplaceSeriesCoercion.to_keyc                 C  sP   |dkrt t| j| | j| }|S |dkr&tj| j| | j| d}|S t)z9
        Object we will pass to `Series.replace`
        rA  r2   rT   )rA  zipr>  rG   rH   
ValueError)r?   rG  rI  rJ  replacerr   r   r   rM  M  s   z"TestReplaceSeriesCoercion.replacerc           	      C  s   t jddgdd}t j| j| |dd}|j|ksJ |dr'|dr'd S |dv r-d S ||}|d	kr:|d
v sB|dkr_|dv r_trGt rRt	
d| d|  t j| j| |d|d}nt j| j| |dd}|j|ksqJ t|| d S )NrR   rS   xxxr   yyyr1   r   r   )r   rH  r5   r4   r6   )r4   r5   z32-bit platform buggy: z -> )r1   r   r   )rG   rm   rH   r>  r   
startswithr=  r   r   rk   skiprK   rL   	r?   rG  rJ  rI  rM  r1   rp   r   rb   r   r   r   test_replace_seriesZ  s    

z-TestReplaceSeriesCoercion.test_replace_seriesrJ  )r   r7   r3   r6   r5   r4   )indirectrI  rH  r   c           	      C  st   t jddgdd}t j| j| |dd}|j|ksJ ||}t j| j| |dd}|j|ks2J t|| d S )NrR   rS   xyzr   rO  rP  )rG   rm   rH   r>  r   r=  rK   rL   rS  r   r   r   test_replace_series_datetime_tzx  s   	
z9TestReplaceSeriesCoercion.test_replace_series_datetime_tz)r   rH  r   c                 C  s   t jddgdd}t j| j| |dd}|j|ksJ d }t |}t|jt jr8t|jt jr8|j|jkr8t}d}	tj	||	d |
|}
W d    n1 sQw   Y  t j| j| |dd}|j|kshJ t|
| d S )	NrR   rS   rV  r   rO  rP  zexplicitly cast to objectrh   )rG   rm   rH   r>  r   rV   DatetimeTZDtyperY   rK   rZ   r=  rL   )r?   rG  rJ  rI  rM  r1   rp   ra   rep_serrq   r   rb   r   r   r   %test_replace_series_datetime_datetime  s$   
z?TestReplaceSeriesCoercion.test_replace_series_datetime_datetimer   rx   c                 C  r   r   r<   r>   r   r   r   test_replace_series_period  r   z4TestReplaceSeriesCoercion.test_replace_series_periodN)r,   r@   rA   r%   r   r>  r   rG   r   r   keyr   rk   fixturerG  rI  rJ  rM  rT  rz   r   rW  rZ  r{   r[  r   r   r   r   r<    sh   
 





r<  )
__future__r   r   r   r#   numpyrX   rk   pandas.compatr   r   pandasrG   pandas._testing_testingrK   pandas.core.apir   r   r]  r/   r0   rC   r   r   r  r<  r   r   r   r   <module>   s(    

t ? 5 R