U
    *ifp                     @   s  d dl mZm Z  d dlZd dlZd dl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 dlmZ d dlmZ G dd dZG d	d
 d
ZG dd dZG dd dZ G dd dZ!G dd dZ"G dd dZ#dd Z$dd Z%dd Z&dd Z'G dd dZ(G dd  d Z)ej*+d!ej,ed"d#d$d%d&d'd(d)d*g	eej-d#ej-d%ej-d'ej-d)ej-g	e.ddd"d+d,ej,ed-d-d.d.geej-d-ej-d.ge/d/e.ddd"d0d,ej,ee0d*eej-ej-ej-ej-ej-d%d&d'd(d)g
e.dd%d1d,ej,ed2d"d#geej-d"d#gd d3d,ej,ed.geej-ge/d/d d4d,ej,ed.d-geej-d-ge/d/d d5d,gG d6d7 d7e)Z1G d8d9 d9e)Z2G d:d; d;e)Z3G d<d= d=e)Z4G d>d? d?e)Z5G d@dA dAe)Z6ej*+dBed2d"d#geej-d"d#gfedCdDdEgeej-dDdEgfee dFd2d2e dFd2d"e dFd2d#geee dFd2d"e dFd2d#gfedGdHdIgeddHdIgfgG dJdK dKe)Z7G dLdM dMe)Z8G dNdO dOe)Z9ej*+dPe:dDdEge:dQdRgej:d"dS d"dS d2 gej;d/gG dTdU dUe)Z<ej*+dPdVe=dVgG dWdX dXe)Z>ej*+dPdYdZd[gG d\d] d]e)Z?d^d_ Z@d`da ZAdbdc ZBddde ZCdfdg ZDdhdi ZEdjdk ZFdldm ZGdndo ZHej*jIdpdqdrds ZJej*jIdtdqdudv ZKej*jIdwdqdxdy ZLej*jIdzdqd{d| ZMej*jId}dqd~d ZNej*jIddqdd ZOdd ZPdd ZQej*+deRd"d&ej*+dd-d.d.d.d.gd-d.gd.ggej*+ddDej-eSeTjUeSeTjVgej*+ddd dd dd gdd ZWdS )    )datedatetimeN)is_list_like)Categorical	DataFrameDatetimeIndexIndexIntervalIntervalIndex
MultiIndexNaTSeries	Timedelta	Timestampconcat
date_rangeperiod_range)IndexingError)BDayc                   @   sX   e Zd Zdd Zdd Zdd Zdd Zej	d	d
ddgdd Z
dd Zdd ZdS )TestSetitemDT64Valuesc                 C   s   t tddd}d |d< |d tks(td |dd< |d tksDttj|d< |d tks^ttj|dd< |d tks|td S )	Nz1/1/2000
   periods               )r   r   r   AssertionErrornpnanselfseries r$   \/home/mars/bis/venv/lib/python3.8/site-packages/pandas/tests/series/indexing/test_setitem.pytest_setitem_none_nan"   s    
z+TestSetitemDT64Values.test_setitem_none_nanc                 C   s@   t ddg}tddg|d}| }d|jg < t|| d S )N)a   )b   r(   r*   indexr   )r   from_tuplesr   copyloctmassert_series_equal)r"   idxresultexpectedr$   r$   r%   #test_setitem_multiindex_empty_slice0   s
    
z9TestSetitemDT64Values.test_setitem_multiindex_empty_slicec                 C   sN   t dddgdddgd}t |d< |jt ks6t|d t ksJtd S )Nr(   r*   r   Dater)   otherr+   )r   r   todayr6   r   r"   serr$   r$   r%   test_setitem_with_string_index8   s    z4TestSetitemDT64Values.test_setitem_with_string_indexc                 C   sT   t dddd}ddddg}t||d	}| }tj|d< tj|jd
< t|| d S )NZ2017r   
US/Easternr   tz)r   r(   )r   r*   )r   r   )r   r   r+   r   )r   r   r.   r   r    ilocr0   r1   )r"   arrr,   r3   r4   r$   r$   r%   )test_setitem_tuple_with_datetimetz_values?   s    
z?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesr>   r<   UTCz
Asia/Tokyoc                 C   s   t tddd|d}|jd| dks*tt td|dtd	|dtd
|dg}| }td|d||d< t|| t td|dtd|dgddgd}|jd| dkstt td|dtd	|dtd|dg}| }|||ddg< t|| d S )N
2016-01-01Hr   freqr   r>   datetime64[ns, ]z2016-01-01 00:00r>   2011-01-01 00:00z2016-01-01 02:00
2011-01-01r(   
2012-01-01r*   r+   2012-01-01 00:00r   r   dtyper   r   r.   r0   r1   )r"   r>   indexer_sliorigexpr:   valsr$   r$   r%   test_setitem_with_tzI   s2    


	


z*TestSetitemDT64Values.test_setitem_with_tzc                 C   s  d}t tddd|d}|jd| dks.tt td|d	td
|d	td|d	g}| }td|d	||d< t|| t td|d	td|d	gddgd}|jd| dkstt td|d	td|d	td|d	g}| }|||ddg< t|| d S )Nr<   z
2016-11-06rD   r   rE   rG   rH   z2016-11-06 00:00-04:00rI   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00rK   r(   rL   r*   r+   z2016-11-06 00:00rJ   rM   rN   )r"   rP   r>   rQ   rR   r:   rS   r$   r$   r%   test_setitem_with_tz_dstn   s4    


	


z.TestSetitemDT64Values.test_setitem_with_tz_dstc                 C   sp   t dtjitd}dg}tjdgdd}||j|< t |d gdgtd}tdd	 |jD s`tt	
|| d S )
NXrO   Tr   M8[ns]r   r,   rO   c                 s   s   | ]}t |tjV  qd S N)
isinstancer   
datetime64.0xr$   r$   r%   	<genexpr>   s     zYTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match.<locals>.<genexpr>)r   r   r    objectarrayr?   allvaluesr   r0   r1   )r"   r:   indexervaluer4   r$   r$   r%   0test_object_series_setitem_dt64array_exact_match   s    
zFTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_matchN)__name__
__module____qualname__r&   r5   r;   rA   pytestmarkparametrizerT   rU   rg   r$   r$   r$   r%   r   !   s   

$&r   c                   @   sd   e Zd Zdd Zejdejej	gejdddgdd Z
ejd	d
dejfgdd ZdS )TestSetitemScalarIndexerc              	   C   sF   t tddtddd}d}tjt|d d|d< W 5 Q R X d S )Nr   r   r+   z2index -11 is out of bounds for axis 0 with size 10matchfooi)r   r0   Zrands_arrayrk   raises
IndexError)r"   r:   msgr$   r$   r%   #test_setitem_negative_out_of_bounds   s    z<TestSetitemScalarIndexer.test_setitem_negative_out_of_boundsre   	ser_indexr   r(   c                 C   sX   t ddgdd}||}t dg|gd|d< t t dg|gddgdd}t|| d S )Nr   ra   rW   *   r+   r   r0   r1   )r"   re   rv   r:   Zidxrr4   r$   r$   r%    test_setitem_series_object_dtype   s
    z9TestSetitemScalarIndexer.test_setitem_series_object_dtypezindex, exp_value)r   rw   c                 C   s>   t ddg}t dg|gd|jd< t |dg}t|| d S )Nr   rw   r+   )r   r/   r0   r1   )r"   r,   Z	exp_valuer:   r4   r$   r$   r%   test_setitem_series   s    z,TestSetitemScalarIndexer.test_setitem_seriesN)rh   ri   rj   ru   rk   rl   rm   r0   r/   atry   r   r    rz   r$   r$   r$   r%   rn      s   rn   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestSetitemSlicesc              	   C   sd   d}t jt|jddd d|dd< W 5 Q R X t jt|jddd d|d	d< W 5 Q R X d S )
NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)keyro   r   g      @g      $@z4\.5g      @)rk   rr   	TypeErrorformat)r"   datetime_seriesrt   r$   r$   r%   test_setitem_slice_float_raises   s    z1TestSetitemSlices.test_setitem_slice_float_raisesc                 C   sT   t tdttdd}d|dd < |dk s4td|d d< |dk sPtd S )Nr   r+   r   ir   )r   rangelistrc   r   r9   r$   r$   r%   test_setitem_slice   s
    z$TestSetitemSlices.test_setitem_slicec              
   C   sd   t tjdddddddddgd	}d
|d d< |d d d
k sHt|dd  d
k r`td S )N   r*   r   r   r            r+   r   )r   r   randomrandnrc   r   anyr9   r$   r$   r%   test_setitem_slice_integers   s    $z-TestSetitemSlices.test_setitem_slice_integersc                 C   sJ   t tdttdd}d|d d d< |d d d dk sFtd S )N   r+   r   r*   )r   r0   ZmakeIntIndexastypefloatrc   r   r!   r$   r$   r%   test_setitem_slicestep   s    z(TestSetitemSlices.test_setitem_slicestepc                 C   sl   t ddgtdf}ttjdtjd|}d||d d d< tdddd	dd
ddddg
|}t|| d S )Nr   r(   Zabcder   rW   d   r   r*   r   r   r   r   	   )	r   from_productr   r   r   arangeint64r0   r1   )r"   rP   mir3   r4   r$   r$   r%   test_setitem_multiindex_slice   s
    z/TestSetitemSlices.test_setitem_multiindex_sliceN)rh   ri   rj   r   r   r   r   r   r$   r$   r$   r%   r|      s
   r|   c                   @   sz   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	e
jdeejegdd Zdd Zdd Zdd ZdS )TestSetitemBooleanMaskc                 C   sV   t ddgddgdd}t dgdgdd|ddg< t ddgddgdd}t|| d S )Nr(   r*   r   rY   r   TFrx   r"   r:   r4   r$   r$   r%   test_setitem_mask_cast   s    z-TestSetitemBooleanMask.test_setitem_mask_castc                 C   sl   t tjdtddddd}|dk}| }||  t}|||< |dd }t	
|| d S )Nr   r   r+   r   c                 S   s   | dkrt | S | S Nr   )str)tr$   r$   r%   <lambda>       zLTestSetitemBooleanMask.test_setitem_mask_align_and_promote.<locals>.<lambda>)r   r   r   r   r   roundr.   mapr   r0   r1   )r"   tsmaskleftrightr4   r$   r$   r%   #test_setitem_mask_align_and_promote   s    $z:TestSetitemBooleanMask.test_setitem_mask_align_and_promotec                 C   sN   t ddddg}|dk}|| t}|||< t ddddg}t|| d S )Nr   r(   r*   12)r   r   r   r0   r1   r"   r:   r   ser2r4   r$   r$   r%   test_setitem_mask_promote_strs  s    z5TestSetitemBooleanMask.test_setitem_mask_promote_strsc                 C   sP   t ddddg}t ddddg}|| }|||< t ddddg}t|| d S )Nr   rq   barFTrx   r   r$   r$   r%   test_setitem_mask_promote
  s    z0TestSetitemBooleanMask.test_setitem_mask_promotec                 C   s   ||  k}| }|d ||< |d }t|| ||  | }|d dd ||< |d dd |}|| || < t|| ||  d S )Nr*   r   r   )medianr.   r0   r1   Zreindex_like)r"   string_seriesr   r3   r4   r$   r$   r%   test_setitem_boolean  s    z+TestSetitemBooleanMask.test_setitem_booleanc              	   C   sj   |}|j dt d| k}d}tjt|d d||< W 5 Q R X tjt|d d|j|< W 5 Q R X d S )Nr(   rF   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchro   )shiftr   r   rk   rr   r   r/   )r"   r   r   Zmask_shiftedrt   r$   r$   r%   test_setitem_boolean_corner#  s    z2TestSetitemBooleanMask.test_setitem_boolean_cornerc                 C   s@   |  }| }d||dk< | }d||dk< t|| d S r   )Zsort_valuesr.   r0   r1   )r"   r   Zorderedr.   r4   r$   r$   r%   $test_setitem_boolean_different_order1  s    z;TestSetitemBooleanMask.test_setitem_boolean_different_orderfuncc                 C   sF   t d dd g}|dddg}ddg||< t dddg}t|| d S )Nr)   TFr'   crx   )r"   r   r:   r   r4   r$   r$   r%    test_setitem_boolean_python_list<  s
    z7TestSetitemBooleanMask.test_setitem_boolean_python_listc                 C   s   t ddddg|d}t td|d||dk< t ddddg|d}t|| t ddddg|d}t td|d|j|dk< t|| t ddddg|d}t td|d}|j|d	k |j|dk< t|| d S )
Nr   r   r   r   rW   r   r*   r   r(   )r   r   r0   r1   r/   )r"   Zany_numeric_ea_dtyper:   r4   Zloc_serr$   r$   r%   'test_setitem_boolean_nullable_int_typesE  s    z>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesc                 C   sv   t d gd }dgd dgd  dgd  }td||< |}t d gd ttd d gd  d}t|| d S )Nr   Fr   Tr   r*   ra   )r   r   r   r   r0   r1   )r"   r:   r   r3   r4   r$   r$   r%   Atest_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthU  s    *zXTestSetitemBooleanMask.test_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthc                 C   s<   t dddg}tj|d< t tjddgtd}t|| d S )NTFr   rW   )r   r   r    ra   r0   r1   )r"   r3   r4   r$   r$   r%   test_setitem_nan_with_bool^  s    
z1TestSetitemBooleanMask.test_setitem_nan_with_boolN)rh   ri   rj   r   r   r   r   r   r   r   rk   rl   rm   r   r   rb   r   r   r   r   r   r$   r$   r$   r%   r      s   	
		
	r   c                   @   s   e Zd Zdd Zdd ZdS )TestSetitemViewCopySemanticsc                 C   s   t dddd}|d }t|}|j|k	s,t|jjj|jjjk	sDt|jdksRtt|jd< |jjd kslt|j|k	szt|jjj|jjjk	st|d |kst|jdkstd S )NZ20130101r   r<   r=   r(   D)	r   r   _valuesr   _databaserF   r   r?   r"   dtir   r:   r$   r$   r%   ,test_setitem_invalidates_datetime_index_freqg  s    
zITestSetitemViewCopySemantics.test_setitem_invalidates_datetime_index_freqc                 C   s   t dddd}|d }t|}|j|k	s,t|jjj|jjjk	sDt|jjd |k	sXt|jjd jj|jjjk	svtt|d d d< |d tkst|d |kstd S )NrC   r   z
US/Pacificr=   r   r   )	r   r   r   r   r   r   Z_mgrZarraysr   r   r$   r$   r%   'test_dt64tz_setitem_does_not_mutate_dtiz  s    zDTestSetitemViewCopySemantics.test_dt64tz_setitem_does_not_mutate_dtiN)rh   ri   rj   r   r   r$   r$   r$   r%   r   f  s   r   c                   @   s   e Zd Zdd Zdd ZdS )TestSetitemCallablec                 C   sL   t ddddgtdd}d|dd	 < t ddddgtdd}t|| d S )
Nr(   r*   r   r   ZABCDr+   r   c                 S   s   dS )NAr$   r_   r$   r$   r%   r     r   z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>)r   r   r0   r1   r   r$   r$   r%   test_setitem_callable_key  s    z-TestSetitemCallable.test_setitem_callable_keyc                 C   sD   dd }t ddddg}|||dk < t dd|dg}t|| d S )Nc                 S   s   | d S Nr(   r$   r   r$   r$   r%   r     r   zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>r(   r*   r   r   r   rx   )r"   incr:   r4   r$   r$   r%   test_setitem_callable_other  s
    z/TestSetitemCallable.test_setitem_callable_otherN)rh   ri   rj   r   r   r$   r$   r$   r%   r     s   r   c                   @   sd   e Zd Zdd Zdd Zdd Zejde	de	d
 e	d gd	d
 Zdd Zdd ZdS )TestSetitemWithExpansionc                 C   s6   t d}ttd}d||< td|g}t|| d S )NrL   rW   /   )r   r   ra   r0   r1   )r"   r}   r#   r4   r$   r$   r%   test_setitem_empty_series  s
    
z2TestSetitemWithExpansion.test_setitem_empty_seriesc                 C   s^   t g tg ddtd}td}d||< t dt|gdd}t|| |jj|jjksZtd S )Nr   r   rW   rL   r   )	r   r   ra   r   r0   r1   r,   rF   r   )r"   r#   r}   r4   r$   r$   r%   6test_setitem_empty_series_datetimeindex_preserves_freq  s    zOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freqc                 C   sV   t d}t|gdgtd}|d }tg td}d|d< ||d< |d }||ksRtd S )Nl    Pi5 	timestamprY   rW   g     r@Zanything)r   r   ra   r   )r"   r   r#   r4   r3   r$   r$   r%   3test_setitem_empty_series_timestamp_preserves_dtype  s    zLTestSetitemWithExpansion.test_setitem_empty_series_timestamp_preserves_dtypetd9 daysc                 C   s   t d|gddgtd}t dg}||d< t|| t|d tsFtt dg}td|jd< t|| t|d ts|td S )Nr_   r   r   rY   r   )r   ra   r0   r1   r[   r   r   r/   )r"   r   r4   r:   r$   r$   r%   #test_append_timedelta_does_not_cast  s    


z<TestSetitemWithExpansion.test_append_timedelta_does_not_castc                 C   sR   t td}td|d< d|d< d|d< t tdddgdddgd}t|| d S )	NrW   rC   r'         @r)   rq   r   r+   )r   ra   r   r0   r1   r   r$   r$   r%   *test_setitem_with_expansion_type_promotion  s    
zCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotionc                 C   sL   |  }d|jkstd|d< tdgdgdd}t||g}t|| d S )NZfoobarr(   r#   )r,   name)r.   r,   r   r   r   r0   r1   )r"   r   r:   Zappr4   r$   r$   r%   test_setitem_not_contained  s    z3TestSetitemWithExpansion.test_setitem_not_containedN)rh   ri   rj   r   r   r   rk   rl   rm   r   Zto_timedelta64Zto_pytimedeltar   r   r   r$   r$   r$   r%   r     s   	


	r   c               
   C   sf   t d} d| j_t| }tt|D ]:}d}tjt	|d d||< W 5 Q R X | | dks&t
q&d S )Nr   F#assignment destination is read-onlyro   r(   r   )r   zerosflags	writeabler   r   lenrk   rr   
ValueErrorr   )rb   r#   nrt   r$   r$   r%   .test_setitem_scalar_into_readonly_backing_data  s    
r   c               	   C   sT   t d} d| j_t| }d}tjt|d d|dd< W 5 Q R X |  rPt	d S )Nr   Fr   ro   r(   r   )
r   r   r   r   r   rk   rr   r   r   r   )rb   r#   rt   r$   r$   r%   -test_setitem_slice_into_readonly_backing_data  s    
r   c                  C   s@  t tddgddgd} |  }d|d d < t tddgddgd}t|| |  }d|d< t tddgddgd}t|| |  }d||jdk< t tddgddgd}t|| |  }d|ddg< t tddgddgd}t|| |  }dd	g|_d|d	< t tddgddgddd	gd
}t|| d S )Nr)   r'   
categoriesr(   r   FTr_   yr+   )r   r   r.   r0   r1   r,   )rQ   r:   rR   r$   r$   r%   &test_setitem_categorical_assigning_ops  s,    
 r   c                  C   sJ   t tdddg} t tdtjdgdddgd}tj| d< t| | d S )Nr(   r*   r   r   )r   r   r   r    r0   r1   )r:   rR   r$   r$   r%   !test_setitem_nan_into_categorical  s    
r   c                   @   s>   e Zd Zejdddgejjddddgedd	d
 ZdS )TestSetitemCastinguniqueTFvalr   r   3)Zidsc                 C   s   t ddg}|sddg|_|||d< t|jd t|ks@tt d|gt|jd}|sx|tjk	rxt ||gtddgd}t|| d S )NTFr(   rO   r,   )r   r,   typer?   r   ra   r0   r1   )r"   r   rP   r   r:   r4   r$   r$   r%   test_setitem_non_bool_into_bool(  s    
z2TestSetitemCasting.test_setitem_non_bool_into_boolN)rh   ri   rj   rk   rl   rm   r   r   r$   r$   r$   r%   r   '  s   r   c                   @   s^   e Zd ZdZejdd Zdd Zdd Zdd	 Z	d
d Z
dd Zdd Zdd Zdd ZdS )SetitemCastingEquivalentsz
    Check each of several methods that _should_ be equivalent to `obj[key] = val`

    We assume that
        - obj.index is the default Index(range(len(obj)))
        - the setitem does not expand the obj
    c                 C   s   dS )z\
        Indicate that we are not (yet) checking whether or not setting is inplace.
        Nr$   r"   r$   r$   r%   
is_inplaceB  s    z$SetitemCastingEquivalents.is_inplacec           	      C   s>   |}|  }|j}||||< t|| | |||| d S rZ   )r.   r   r0   r1   _check_inplace)	r"   objr}   r4   r   re   r   rQ   r@   r$   r$   r%   check_indexerI  s    z'SetitemCastingEquivalents.check_indexerc                 C   sP   |d kr
nB|r>|j jdkr.|j|jjks<tqL|j|ksLtnt||j d S )N)mM)rO   kindZ_ndarrayr   r   r0   Zassert_equal)r"   r   rQ   r@   r   r$   r$   r%   r   S  s    z(SetitemCastingEquivalents._check_inplacec                 C   s  t |tsd S | |||||| |tjkrD| ||||tj| n |tjkrd| ||||tj| t||d }| |||||| |tjk	rt	||d }| |||||| |g}	| ||	|||| t
|	}
| ||
|||| dd |fD }| |||||| d S )Nr(   c                 s   s   | ]
}|V  qd S rZ   r$   r]   r$   r$   r%   r`   {  s     z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>)r[   intr   r0   r/   r{   r?   iatr   slicer   rb   )r"   r   r}   r4   r   rP   r   rngZslcilkeyindkeygenkeyr$   r$   r%   test_int_keyb  s$    




z&SetitemCastingEquivalents.test_int_keyc           
      C   s   t |tsd S |tjk	r,| |||||| ttt|| }| |||||| t	|}| |||||| dd |D }	| ||	|||| d S )Nc                 s   s   | ]
}|V  qd S rZ   r$   r]   r$   r$   r%   r`     s     z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>)
r[   r   r0   r/   r   r   r   r   r   rb   )
r"   r   r}   r4   r   rP   r   r   r   r   r$   r$   r%   test_slice_key~  s    


z(SetitemCastingEquivalents.test_slice_keyc              	   C   s   t j|jtd}d||< | }t|rft|| k rfd}tj	t
|d ||||< W 5 Q R X d S ||||< t|| d S )NrW   Tz9boolean index did not match indexed array along dimensionro   )r   r   shapeboolr.   r   r   sumrk   rr   rs   r0   r1   )r"   r   r}   r4   r   rP   r   rt   r$   r$   r%   test_mask_key  s    z'SetitemCastingEquivalents.test_mask_keyc              	   C   s   t j|jtd}d||< t|r`t|t|k r`d}tjt|d |	| | W 5 Q R X d S |}|
 }|j}	|	| |}
t|
| | |||	| d S )NrW   Tz4operands could not be broadcast together with shapesro   )r   r   r   r  r   r   rk   rr   r   wherer.   r   r0   r1   r   )r"   r   r}   r4   r   r   r   rt   rQ   r@   resr$   r$   r%   test_series_where  s    z+SetitemCastingEquivalents.test_series_wherec                 C   sR   |j tkrtd tj|jtd}d||< t|| |}t	
|t| d S Nz"test not applicable for this dtyperW   T)rO   r  rk   skipr   r   r   r   r  r0   assert_index_equal)r"   r   r}   r4   r   requestr   r  r$   r$   r%   test_index_where  s    

z*SetitemCastingEquivalents.test_index_wherec                 C   sP   |j tkrtd tj|jtd}d||< t|||}t	
|t| d S r  )rO   r  rk   r  r   r   r   r   Zputmaskr0   r	  )r"   r   r}   r4   r   r   r  r$   r$   r%   test_index_putmask  s    

z,SetitemCastingEquivalents.test_index_putmaskN)rh   ri   rj   __doc__rk   fixturer   r   r   r   r   r  r  r  r  r$   r$   r$   r%   r   9  s   

r   zobj,expected,keyr*   r   r   r   r   r   r   r   r   Zint_series_slice_key_step)idTFrW   Zbool_series_slice_key_stepZint_series_slice_keyr(   Zint_series_int_keyZbool_series_int_key_change_allZbool_series_int_keyc                   @   s,   e Zd Zejejedgddd ZdS )TestSetitemCastingEquivalentsNaNparamsc                 C   s   |j S )zi
        One python float NaN, one np.float64.  Only np.float64 has a `dtype`
        attribute.
        paramr"   r
  r$   r$   r%   r     s    z!TestSetitemCastingEquivalents.valN)	rh   ri   rj   rk   r  r   r    float64r   r$   r$   r$   r%   r    s   0r  c                   @   sl   e Zd Zejdd Zejeeegddd Z	ejdd Z
ejdd	 Zejd
d Zejdd ZdS )!TestSetitemTimedelta64IntoNumericc                 C   s   t dd}|S )Nr   ns)r   timedelta64)r"   r   r$   r$   r%   r     s    z%TestSetitemTimedelta64IntoNumeric.valr  c                 C   s   |j S rZ   r  r  r$   r$   r%   rO     s    z'TestSetitemTimedelta64IntoNumeric.dtypec                 C   s   t d|}t|}|S )Nr   )r   r   r   r   r"   rO   r@   r:   r$   r$   r%   r     s    z%TestSetitemTimedelta64IntoNumeric.objc                 C   s8   t d|}t|}|t}t dd|jd< |S )Nr   r   r  r   )r   r   r   r   ra   r  rd   r  r$   r$   r%   r4     s
    
z*TestSetitemTimedelta64IntoNumeric.expectedc                 C   s   dS r   r$   r   r$   r$   r%   r}     s    z%TestSetitemTimedelta64IntoNumeric.keyc                 C   s   dS )zM
        Indicate we do _not_ expect the setting to be done inplace.
        Fr$   r   r$   r$   r%   r   #  s    z,TestSetitemTimedelta64IntoNumeric.is_inplaceN)rh   ri   rj   rk   r  r   complexr   r   rO   r   r4   r}   r   r$   r$   r$   r%   r    s   




r  c                   @   s   e Zd Zejddgddd Zejdd Zejdd	 Zejd
d Zejdd Z	ejde
ejgddd Zejdd ZdS )TestSetitemDT64IntoIntrX   m8[ns]r  c                 C   s   |j S rZ   r  r  r$   r$   r%   rO   .  s    zTestSetitemDT64IntoInt.dtypec                 C   s    t dd}|dkr|| }|S )Nz2021-01-18 13:25:00r  r  )r   r\   )r"   rO   r   r$   r$   r%   scalar2  s    zTestSetitemDT64IntoInt.scalarc                 C   s,   t ||dgtd}t|d t|s(t|S )Nr   rW   r   )r   ra   r[   r   r   )r"   r  r4   r$   r$   r%   r4   9  s    zTestSetitemDT64IntoInt.expectedc                 C   s   t dddgS )Nr(   r*   r   r   r   r$   r$   r%   r   ?  s    zTestSetitemDT64IntoInt.objc                 C   s
   t d dS )Nr   r   r   r$   r$   r%   r}   C  s    zTestSetitemDT64IntoInt.keyNc                 C   s   |j }|d kr|S |||gS rZ   r  )r"   r  r
  boxr$   r$   r%   r   G  s    zTestSetitemDT64IntoInt.valc                 C   s   dS NFr$   r   r$   r$   r%   r   N  s    z!TestSetitemDT64IntoInt.is_inplace)rh   ri   rj   rk   r  rO   r  r4   r   r}   r   r   rb   r   r   r$   r$   r$   r%   r  +  s   





r  c                   @   sn   e Zd Zejdd Zejdd Zejdeddgddd	 Zejd
e	j
gddd Zejdd Zd
S )TestSetitemNAPeriodDtypec                 C   sN   t tdddd}tj|jd|< || tksJtdd || D sJt|S )N
2000-01-01r   r   r   rF   i8c                 s   s   | ]}|t kV  qd S rZ   )r   r]   r$   r$   r%   r`   Z  s     z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>)r   r   r   rf   r   viewrc   r   )r"   r}   rR   r$   r$   r%   r4   V  s    &z!TestSetitemNAPeriodDtype.expectedc                 C   s   t tddddS )Nr%  r   r   r&  )r   r   r   r$   r$   r%   r   ]  s    zTestSetitemNAPeriodDtype.objr   r   r  c                 C   s   |j S rZ   r  r  r$   r$   r%   r}   a  s    zTestSetitemNAPeriodDtype.keyNc                 C   s   |j S rZ   r  r  r$   r$   r%   r   e  s    zTestSetitemNAPeriodDtype.valc                 C   s   dS NTr$   r   r$   r$   r%   r   i  s    z#TestSetitemNAPeriodDtype.is_inplace)rh   ri   rj   rk   r  r4   r   r   r}   r   r    r   r   r$   r$   r$   r%   r$  S  s   



r$  c                	   @   s   e Zd Zejddddgddd Zejdd	 Zejd
eje	e
ddeddgddd Zejdd Zejdd Zejdd Zd
S )TestSetitemNADatetimeLikeDtyper  rX   datetime64[ns, UTC]zdatetime64[ns, US/Central]r  c                 C   s   |j S rZ   r  r  r$   r$   r%   rO   t  s    z$TestSetitemNADatetimeLikeDtype.dtypec                 C   s0   t dddj}t||d}|j|ks(tt|S )NrC   r   r   rW   )r   Zasi8r   rO   r   r   )r"   rO   Zi8valsr2   r$   r$   r%   r   z  s    z"TestSetitemNADatetimeLikeDtype.objNr   r  c                 C   s   |j S rZ   r  r  r$   r$   r%   r     s    
z"TestSetitemNADatetimeLikeDtype.valc                 C   s&   |t kp$|d kp$|tjkp$|j|jkS rZ   )r   r   r    rO   )r"   r   r   r$   r$   r%   r     s    z)TestSetitemNADatetimeLikeDtype.is_inplacec                 C   s0   |r
|j nt}t|gt|dd   |d}|S )Nr(   rW   )rO   ra   r   r   )r"   r   r   r   rO   r4   r$   r$   r%   r4     s    z'TestSetitemNADatetimeLikeDtype.expectedc                 C   s   dS r   r$   r   r$   r$   r%   r}     s    z"TestSetitemNADatetimeLikeDtype.key)rh   ri   rj   rk   r  rO   r   r   r    r   r  r\   r   r   r4   r}   r$   r$   r$   r%   r*  n  s*   




	


r*  c                   @   sX   e Zd Zejdd Zejdd Zejdd Zejdd Zejd	d
dd Z	dS )$TestSetitemMismatchedTZCastsToObjectc                 C   s   t tddddS )N2000r*   
US/Centralr=   )r   r   r   r$   r$   r%   r     s    z(TestSetitemMismatchedTZCastsToObject.objc                 C   s   t dddS )Nr-  r<   rI   )r   r   r$   r$   r%   r     s    z(TestSetitemMismatchedTZCastsToObject.valc                 C   s   dS r   r$   r   r$   r$   r%   r}     s    z(TestSetitemMismatchedTZCastsToObject.keyc                 C   s$   t tdddtdddgtd}|S )Nz2000-01-01 00:00:00-05:00r<   rI   z2000-01-02 00:00:00-06:00r.  rW   )r   r   ra   )r"   r4   r$   r$   r%   r4     s    

z-TestSetitemMismatchedTZCastsToObject.expectedT)Zautousec              	   c   sN   |j jdkr*|d}t|ts&d V  d S tjtdd d V  W 5 Q R X d S )Nr   r}   zmismatched timezonero   )functionrh   Zgetfixturevaluer[   r   r0   assert_produces_warningFutureWarning)r"   r
  r}   r$   r$   r%   assert_warns  s    

z1TestSetitemMismatchedTZCastsToObject.assert_warnsN)
rh   ri   rj   rk   r  r   r   r}   r4   r2  r$   r$   r$   r%   r,    s   





r,  zobj,expected      ?g       @r   i  rq   r   Zbazc                   @   s6   e Zd Zejdd Zejdd Zejdd ZdS )TestSeriesNoneCoercionc                 C   s   dS r   r$   r   r$   r$   r%   r}     s    zTestSeriesNoneCoercion.keyc                 C   s   d S rZ   r$   r   r$   r$   r%   r     s    zTestSeriesNoneCoercion.valc                 C   s   |j jdkS )Ni)rO   r   )r"   r   r$   r$   r%   r     s    z!TestSeriesNoneCoercion.is_inplaceN)rh   ri   rj   rk   r  r}   r   r   r$   r$   r$   r%   r4    s   

r4  c                   @   sL   e Zd Zdd Zejdd Zejdd Zejdd Zejd	d
 Z	dS )-TestSetitemFloatIntervalWithIntIntervalValuesc                 C   s:   t td}t|}tdd}||d< |jdks6td S )Nr         ?      ?r   zInterval[float64, right])r
   from_breaksr   r   r	   rO   r   )r"   r2   r   r   r$   r$   r%   test_setitem_example  s
    
zBTestSetitemFloatIntervalWithIntIntervalValues.test_setitem_examplec                 C   s   t td}t|S )Nr   )r
   r9  r   r   )r"   r2   r$   r$   r%   r     s    z1TestSetitemFloatIntervalWithIntIntervalValues.objc                 C   s
   t ddS )Nr7  r8  )r	   r   r$   r$   r%   r     s    z1TestSetitemFloatIntervalWithIntIntervalValues.valc                 C   s   dS r   r$   r   r$   r$   r%   r}     s    z1TestSetitemFloatIntervalWithIntIntervalValues.keyc                 C   s*   |gt |dd   }t|dd}t|S )Nr(   zInterval[float64]rW   )r   r
   r   )r"   r   r   datar2   r$   r$   r%   r4     s    z6TestSetitemFloatIntervalWithIntIntervalValues.expectedN)
rh   ri   rj   r:  rk   r  r   r   r}   r4   r$   r$   r$   r%   r6    s   	


r6  c                   @   sR   e Zd Zejdd Zejdd Zejdd Zejdd Zejd	d
 Z	dS )!TestSetitemRangeIntoIntegerSeriesc                 C   s   t |}ttd|d}|S Nr   rW   )r   rO   r   r   )r"   any_int_numpy_dtyperO   r:   r$   r$   r%   r     s    
z%TestSetitemRangeIntoIntegerSeries.objc                 C   s
   t ddS )Nr*   r   )r   r   r$   r$   r%   r     s    z%TestSetitemRangeIntoIntegerSeries.valc                 C   s
   t ddS Nr   r*   r!  r   r$   r$   r%   r}     s    z%TestSetitemRangeIntoIntegerSeries.keyc                 C   s$   t |}tdddddg|d}|S )Nr*   r   r   rW   )r   rO   r   )r"   r>  rO   rR   r$   r$   r%   r4     s    
z*TestSetitemRangeIntoIntegerSeries.expectedc                 C   s   dS r)  r$   r   r$   r$   r%   inplace  s    z)TestSetitemRangeIntoIntegerSeries.inplaceN)
rh   ri   rj   rk   r  r   r   r}   r4   r@  r$   r$   r$   r%   r<    s   



r<  r         @g      @A   c                   @   sD   e Zd Zejdd Zejdd Zejdd Zejdd Zd	S )
(TestSetitemFloatNDarrayIntoIntegerSeriesc                 C   s   t tdtjdS r=  )r   r   r   r   r   r$   r$   r%   r   )  s    z,TestSetitemFloatNDarrayIntoIntegerSeries.objc                 C   s
   t ddS r?  r!  r   r$   r$   r%   r}   -  s    z,TestSetitemFloatNDarrayIntoIntegerSeries.keyc                 C   s   |d dkS r?  r$   r"   r   r$   r$   r%   r@  1  s    z0TestSetitemFloatNDarrayIntoIntegerSeries.inplacec                 C   s8   |rt j}nt j}t jtd|d}||d d< t|S )Nr   rW   r*   )r   r   r  rb   r   r   )r"   r   r@  rO   Z
res_valuesr$   r$   r%   r4   6  s    z1TestSetitemFloatNDarrayIntoIntegerSeries.expectedN)	rh   ri   rj   rk   r  r   r}   r@  r4   r$   r$   r$   r%   rC     s   	


rC     c                       s`   e Zd Zejdd Zejdd Zejdd Zejdd Z fd	d
Z	 fddZ
  ZS )'TestSetitemIntoIntegerSeriesNeedsUpcastc                 C   s   t dddgtjdS )Nr(   r*   r   rW   )r   r   Zint8r   r$   r$   r%   r   C  s    z+TestSetitemIntoIntegerSeriesNeedsUpcast.objc                 C   s   dS r   r$   r   r$   r$   r%   r}   G  s    z+TestSetitemIntoIntegerSeriesNeedsUpcast.keyc                 C   s   dS r#  r$   r   r$   r$   r%   r@  K  s    z/TestSetitemIntoIntegerSeriesNeedsUpcast.inplacec                 C   s   t dddgtjdS )Nr(   rE  r   rW   )r   r   int16r   r$   r$   r%   r4   O  s    z0TestSetitemIntoIntegerSeriesNeedsUpcast.expectedc           	         s:   t |tjs tjj}|j| t 	|||||| d S rZ   )
r[   r   rG  rk   rl   xfailnode
add_markersuperr   	r"   r   r}   r4   r   rP   r   r
  rl   	__class__r$   r%   r   S  s    z4TestSetitemIntoIntegerSeriesNeedsUpcast.test_int_keyc                    s8   t |tjs tjj}|j| t 	||||| d S rZ   )
r[   r   rG  rk   rl   rH  rI  rJ  rK  r  r"   r   r}   r4   r   rP   r
  rl   rM  r$   r%   r  Y  s    z5TestSetitemIntoIntegerSeriesNeedsUpcast.test_mask_key)rh   ri   rj   rk   r  r   r}   r@  r4   r   r  __classcell__r$   r$   rM  r%   rF  A  s   



rF  g      B    B            c                       sl   e Zd Zejdd Zejdd Zejdd Zejdd Z fd	d
Z	 fddZ
 fddZ  ZS )TestSmallIntegerSetitemUpcastc                 C   s   t dddgddS )Nr(   r*   r   i4rW   r   r   r$   r$   r%   r   c  s    z!TestSmallIntegerSetitemUpcast.objc                 C   s   dS r   r$   r   r$   r$   r%   r}   g  s    z!TestSmallIntegerSetitemUpcast.keyc                 C   s   dS r#  r$   r   r$   r$   r%   r@  k  s    z%TestSmallIntegerSetitemUpcast.inplacec                 C   sJ   |dkrt |ddgddS |dkr4t |ddgddS t |ddgddS d S )NrR  r*   r   r'  rW   rQ  Zf8r   rD  r$   r$   r%   r4   o  s
    z&TestSmallIntegerSetitemUpcast.expectedc                    sB   t |tr*|d dkr*tjj}|j| t ||||| d S Nr(   r   )	r[   r   rk   rl   rH  rI  rJ  rK  r  )r"   r   r}   r4   r   r   r
  rl   rM  r$   r%   r  x  s    z/TestSmallIntegerSetitemUpcast.test_series_wherec           	         s:   |d dkr t jj}|j| t |||||| d S rU  )rk   rl   rH  rI  rJ  rK  r   rL  rM  r$   r%   r   ~  s    z*TestSmallIntegerSetitemUpcast.test_int_keyc                    s8   |d dkr t jj}|j| t ||||| d S rU  )rk   rl   rH  rI  rJ  rK  r  rO  rM  r$   r%   r    s    z+TestSmallIntegerSetitemUpcast.test_mask_key)rh   ri   rj   rk   r  r   r}   r@  r4   r  r   r  rP  r$   r$   rM  r%   rS  `  s   



rS  c                  C   sT  t dddgdddgd} t dddgdddgd}|  }d|jd< t|| |  }d|jd< t|| |  }d|d< t|| |  }d|jd< t|| |  }d|jd< t|| | d	}|d	}| }d|jd
< t	|| | }d|jd
< t	|| | }d|jd< t	|| | }d|jd< t	|| d S )Nr   r(   r*   r'   r)   r   r+   g@r   )r)   r   )r(   r   )
r   r.   r{   r0   r1   r/   r   r?   Zto_frameassert_frame_equal)rQ   r4   r:   Zorig_dfZexpected_dfdfr$   r$   r%   
test_20643  s>    









rX  c                  C   sr   t dddgdddgd} t tjddgdddgd}|  }d |jd< t|| |  }d |jd< t|| d S )Nr   r(   r*   r'   r)   r   r+   )r   r   r    r.   r   r0   r1   r?   )rQ   r4   r:   r$   r$   r%   test_20643_comment  s    

rY  c                  C   s  t dddg} | | dk  d7  < t dddg}t| | t dddg} | d  d7  < t| | t dddg} | jd  d7  < t| | t dddg} | jd  d7  < t| | t dddg} | jd  d7  < t| | t dddg} | jd  d7  < t| | d S )Nr(   r*   r   r7  rA  )r   r0   r1   r/   r?   r   r{   r:   r4   r$   r$   r%   
test_15413  s&    r[  c                  C   s   t dddgdddgd} t dddgdddgd}|  }d|jd< t|| |  }d|jd< t|| |  }d|jd	< t|| |  }d|jd	< t|| d S )
Nr(   r*   r   r   r   )r   Bg333333?)r(   r\  )r(   r(   )r   r.   r{   r0   rV  r/   r   r?   )rQ   r4   rW  r$   r$   r%   
test_37477  s    



r]  c                  C   s\   t dd} t| }t t t jj}||d< t|ddddgt jd}t|| d S )	Nr   rT  r   r(   r*   r   r   rW   )	r   r   r   r   r   Ziinfomaxr0   r1   r@   r:   r   r4   r$   r$   r%   test_32878_int_itemsize  s    r`  c                 C   s   t dddgd}d|d< d| |d< t ddddgidddgtjd	}t|| d
| |d< t dddd
gidddgtjd	}t|| d| |d< t ddddgidddgtd	}t|| d S )Nr   r\  Cr+   r   r   r*   )ra  r   rY   g     @F@Zhello)r   r   r   r0   rV  r  ra   )
indexer_alrW  r4   r$   r$   r%   
test_26395  s      rc  c                 C   sN   t dddgdddgd}d| |d< t dddgdddgtd	}t|| d S )
Nr(   r*   r   r'   r)   r   r+   testrY   r   ra   r0   r1   )rb  r:   r4   r$   r$   r%   
test_37692  s    rf  c                 C   s   t jt jfD ]\}tdtd|d}d| |d< |jtks<ttdtdtd}|d|d< |jtkstqtdtdt jd}t d| |d< |jt jksttdtdt jd}t d| |d< d S )Nr   r   rY   Tr(   r3  )	r   r  r   r   r   rO   ra   r   r  )rP   rO   r:   r$   r$   r%   'test_setitem_bool_int_float_consistency  s    rg  c                 C   sx   t d}t d}t d}t|dd}t|ddgd}| }|| ||df< d	|d< ||j|df< |jd
 |ksttd S )Nz
2014-04-01z2014-04-23 12:42:38.883082z2014-04-24 01:33:30.040039r(   r   ZtimenowLiver,   columnsT)r   r   )r   r   r   r.   r{   r?   r   )rb  startt1t2r   rQ   rW  r$   r$   r%   	test_69427  s    rn  z Doesn't catch when numpy raises.)reasonc                  C   sJ   t dddgdddgd} d| d	< t dddgdddgtd
}t| | d S )Nr(   r*   r   r'   r)   r   r+   rV   r   rY   re  rZ  r$   r$   r%   
test_45070I  s    rp  zunwanted upcastc                  C   s   t ddgddggddgd} tdd	d
| jd< | jtjk sDttddi| jd< ttjtjgt	ddgd}t
| j| d S )Nr(   r*   r   r   r'   r)   )rj  r   r   r'   r)   r   r   )r   r   r/   dtypesr   r   rc   r   r  ra   r0   r1   )rW  
exp_dtypesr$   r$   r%   
test_15231R  s    rt  zFails to upcastc                  C   sn   t dd} t| }t t jj}|d}||d< |d |ksHtt|ddddgdd	}t	|| d S )
Nr   Zc8Zc16r   r(   r*   r   r   rW   )
r   r   r   r   finfor  r^  r   r0   r1   r_  r$   r$   r%   test_32878_complex_itemsize_  s    
rv  z Unnecessarily upcasts to float64c                  C   st   t tjddgtjdtjddgtjdddgd} |  }| d	 jdd}|| jd d d	df< t	| | d S )
Nr(   r   rW   r*   r   r'   r)   )r   r(   r*   r   )
r   r   rb   Zfloat32r.   rd   Zreshaper?   r0   rV  )rW  rQ   rd   r$   r$   r%   .test_iloc_setitem_unnecesssary_float_upcastingn  s    rw  zunwanted casting to dt64c                  C   s   t ddd} d| dg}t|}| }tjtg|jd< tdtjgt| tgddd}t	|| d| dg}| }tjtg|jdd d f< t	|| d S )	Nz2016-03-01 03:13:22.98986rB   rI   r   )onetwor(   r+  rW   )
r   r   r.   r   r    r   r/   r   r0   rV  )r   r;  rQ   rW  r4   r$   r$   r%   
test_12499  s    rz  z Too many columns cast to float64c               	   C   s   t ddgdddgg} tdtd| d}td	d
dggd tddddgd}||d< td	d	d	gd
d
d
gdddgdddgdddgdddgd}| |_tttjgd
 ttj	g ttjgd  | d}t
|j| d S )Nr   r\  r'   r)   r   r   r   ri  r(   r*   r   )r   r(   r*   r   r   r   r+   )r   r   r   r   rj  r   r   rO   r   r  r0   r1   rr  )r   rW  Zfillerr4   rs  r$   r$   r%   
test_20476  s&    $
0r{  c            	   
   C   s  t ddddgddddgd	} | jjr(ttd  d
| d< W 5 Q R X t ddd
dg| jd	}t| | d}tjt|d( tj	t
dd d| d< W 5 Q R X W 5 Q R X ttd
d d d }t tt||d	}| }d|jd< tjt|d d|d< W 5 Q R X t|| t| jddgg}t tt||d	}| }d|jd< tjt|d d|d< W 5 Q R X t|| d S )Nr(   r*   r   r   g?g @r   gffffff@r+   r   z5Treating integers as positional in Series.__setitem__ro   zindex 5 is out of boundsr   r   r   r   r\  c   )r   r,   Z_should_fallback_to_positionalr   r0   r0  r1   r1  rk   rr   rs   r
   r9  r   r   r.   r?   r   r   )	r:   r4   rt   iir   Z	expected2r   Zser3Z	expected3r$   r$   r%   3test_setitem_int_as_positional_fallback_deprecation  s0    

r~  c                  C   s   t dddgdddgd} | d}d	|d
ddg< td	ddgdd}t|| d| jd
ddgdf< t ddddgi}t| | d S )Nr(   r*   r   r   r   r   rq  r)   r   TF)r;  r   r   r'   )r   popr   r0   r1   r/   rV  )rW  r3   r4   r$   r$   r%   test_setitem_with_bool_indexer  s    
r  sizer   itemr"  c                 C   s   t | gS rZ   )r   rb   r   r$   r$   r%   r     r   r   c                 C   s   | gS rZ   r$   r   r$   r$   r%   r     r   c                 C   s   | fS rZ   r$   r   r$   r$   r%   r     r   c           	   	   C   s   t || }t j| td}t|}| dkrZd}tjt|d ||||< W 5 Q R X n2||||< tt j| td}|||< t	
|| d S )NrW   r(   zKcannot set using a list-like indexer with a different length than the valuero   )r   resizer   r   r   r  rk   rr   r   r0   r1   )	r  r   r  r"  Z	selectionr;  r:   rt   r4   r$   r$   r%   7test_setitem_bool_indexer_dont_broadcast_length1_values  s    r  )Xr   r   numpyr   rk   Zpandas.core.dtypes.commonr   Zpandasr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr0   Zpandas.core.indexingr   Zpandas.tseries.offsetsr   r   rn   r|   r   r   r   r   r   r   r   r   r   r   rl   rm   r  r    r   ra   r   r  r  r  r$  r*  r,  r4  r6  r<  rb   r  rC  rG  rF  rS  rX  rY  r[  r]  r`  rc  rf  rg  rn  rH  rp  rt  rv  rw  rz  r{  r~  r  r   ru  r   r^  minr  r$   r$   r$   r%   <module>   s  @ +y#H "

$
/
((1&$ *.






&   