a
    Pfj                     @   s  d Z ddlZddlmZ ddlZddlZddlZddlZddlm	Z	 ddl
mZ ddlmZmZmZ ddlZddl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#dd Z$dd Z%ej&'dedgdfeg de(dddfgdd Z)dd  Z*ej&'d!ddd"gedd"ged#dd"ggd$d% Z+ej&'d!ddd"gedd"ged#dd"ggd&d' Z,ej&'d!d(d)ged)ged*d)ggd+d, Z-ej&'d!d(d)ged)ged*d)ggd-d. Z.d/d0 Z/dS )1z test fancy indexing & misc     N)datetime)using_pyarrow_string_dtype)IndexingError)is_float_dtypeis_integer_dtypeis_object_dtype)	DataFrameIndexNaTSeries
date_rangeoffsetstimedelta_range)_mklbl)gen_objc                   @   sd  e Zd ZdZdd Zdd Zejddd Z	ejd	d
d Z
dd Zdd Zdd Zejdddgdd Zdd Zdd Zdd Zdd Zdd  Zejd!g d"ed#gd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zejje d4d5d6d7 Z d8d9 Z!d:d; Z"d<d= Z#d>d? Z$d@dA Z%dBdC Z&ejdDe'j(e'j)gdEdF Z*dGS )H	TestFancyz"pure get/set item & fancy indexingc                 C   s   t ttddtjdd}tjdtjd|d< tjdtd|d< d}tj	t
|d	2 tg d
|j|jdd df< W d    n1 s0    Y  tg d
|j|jdd df< |j|jdd df }tg d
g ddd}t|| d S )N      dtypeindex
   foobar@Must have equal len keys and value when setting with an iterablematch)y        p=
ף@yGz??g@      ?         )      r    r!   r   name)r   r	   nparangeint64zerosfloat64complexpytestraises
ValueErrorarraylocr   r   tmassert_series_equal)selfdfmsgresultexpected r8   \/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/indexing/test_indexing.pytest_setitem_ndarray_1d*   s    @"z!TestFancy.test_setitem_ndarray_1dc                 C   s   t ttddd}tjdtjd|d< tjdtd|d< d}tjt	|d	( tdd
d |dd< W d    n1 s|0    Y  d S )Nr   r   r   r   r   r   r   r   r   r#   y              ?r   r    )
r   r	   r&   r'   r)   r*   r+   r,   r-   r.   )r3   r4   r5   r8   r8   r9   test_setitem_ndarray_1d_2@   s    z#TestFancy.test_setitem_ndarray_1d_2zPignore:Series.__getitem__ treating keys as positions is deprecated:FutureWarningc                 C   s  t ||}||}tjdjddd}g }|tu r\|tjtjfv r\|	d |r\|	d |tu sn|tju r|	d |r|	d |tj
u s|tu r|tju r|	d	 |tu r|tju r|	d
 t|tjr|tju r|	d
 t|tjtjtjfr
|	d t|dks&t|tjr0|	d t|tu rbt|jtjsb|	d |	d d|}	tttf}
tj|
|	d ||  W d    n1 s0    Y  d S )Nr   r    r   r   r   sizez8Wrong number of dimensions. values.ndim > ndim \[3 > 1\]z$Passed array should be 1-dimensional;Buffer has wrong number of dimensions \(expected 1, got 3\)zindexer should be 1-dimensionalz&Cannot index with multidimensional key Index data must be 1-dimensionalData must be 1-dimensionalr   z%positional indexers are out-of-boundszvalues must be a 1D arrayz only handle 1-dimensional arrays|r   )r   r&   randomdefault_rngintegersr   r1   setitemilocappendr0   r   
isinstancepdZIntervalIndexZTimedeltaIndexZDatetimeIndexZPeriodIndexlenZ
MultiIndextyper	   _valuesndarrayjoin
IndexErrorr.   NotImplementedErrorr,   r-   )r3   r   frame_or_seriesindexer_sliZusing_array_managerobjidxrnd3Zmsgsr5   Zpotential_errorsr8   r8   r9   test_getitem_ndarray_3dL   sB    














z!TestFancy.test_getitem_ndarray_3dzPignore:Series.__setitem__ treating keys as positions is deprecated:FutureWarningc           	      C   s   t ||}||}tjdjddd}|tju rDt}d|j }nt}d	g d}t
j||d d	||< W d    n1 s0    Y  d S )
Nr   r    r<   r=   zCannot set values with ndim > rB   )r?   zCannot set values with ndim > 1r@   rA   z,Array conditional must be same shape as selfr   r   )r   r&   rC   rD   rE   r1   rG   r.   ndimrO   r,   r-   )	r3   r   rR   rS   rT   rU   rV   errr5   r8   r8   r9   test_setitem_ndarray_3dz   s    


z!TestFancy.test_setitem_ndarray_3dc                 C   sf   t d}tddgddgg}|| }tddgdd}t|| tddg}|| }|dksbJ d S )Nr   r   r   r"   r#   r%   )r&   r/   r   r   r1   r2   )r3   keyr4   r6   r7   serr8   r8   r9   test_getitem_ndarray_0d   s    
z!TestFancy.test_getitem_ndarray_0dc                 C   sp   t dgd}d|jd< d|jd< d|jtj< |jtjdf dksDJ |j}tddtjgtjd}t|| d S )Nr   columnsr   r   r"   r   )	r   r0   r&   infr   r	   r*   r1   assert_index_equalr3   r4   r6   r7   r8   r8   r9   test_inf_upcast   s    

zTestFancy.test_inf_upcastc                 C   s   t ddidddg}tj|d< |d jtjks4J tjtdd d	|jd
< W d    n1 sb0    Y  t ddgtjdgt	d	tjgt
dd}t|| d S )Nar   r"   r   re   bcitem of incompatible dtyper   r   )r   rh   r   re   rg   rh   )r   r&   nanr   r*   r1   assert_produces_warningFutureWarningr0   r   objectassert_frame_equalr3   r4   r7   r8   r8   r9   test_setitem_dtype_upcast   s    
("z#TestFancy.test_setitem_dtype_upcastvalgQ	@wxyzc                 C   s   t tjdddddtdg dd}| }tjtd	d
 ||j	d< W d    n1 s^0    Y  t d|dgg dgtdg dd}t
|| t|d sJ t|d sJ d S )Nr!   r(   r   r   r"   abr   r   bazr   r`   ri   r   re   r   r   r"   r#   r    r   rv   )r   r&   r'   reshapelistcopyr1   rl   rm   r0   ro   r   )r3   rr   r4   leftrightr8   r8   r9   test_setitem_dtype_upcast2   s$    (z$TestFancy.test_setitem_dtype_upcast2c                 C   s   t tjdddddd tdg dd	}tjtd
d d|jd< W d    n1 sZ0    Y  t g dg dgtdg dd	}t	|| t
|d sJ t
|d sJ d S )Nr!   r(   r   r   r"   g      $@rt   ru   rw   ri   r   rs   rx   )r   rs   g?)g333333?g?g      ?r   rv   )r   r&   r'   rz   r{   r1   rl   rm   r0   ro   r   )r3   r}   r~   r8   r8   r9   test_setitem_dtype_upcast3   s"    (z$TestFancy.test_setitem_dtype_upcast3c                 C   s@   t tdg dd}|ddg j}tg d}t|| d S )Nr"   )re   re   rg   r_   rg   re   )rg   re   re   )r   r&   eyer`   r	   r1   rb   rc   r8   r8   r9   test_dups_fancy_indexing   s    z"TestFancy.test_dups_fancy_indexingc                 C   sb   t g dgtdd}t g dg}td|_|jd d df  |jd d df  t|| d S )N)r   r   r          @      @r   r   Zaaaaaaar_   r#   )r   r{   r`   rG   r1   ro   r3   r4   r6   r8   r8   r9   &test_dups_fancy_indexing_across_dtypes   s    
z0TestFancy.test_dups_fancy_indexing_across_dtypesc                 C   s   t g dg dtddg dd}ddg}t d	d
gddgddgd|d}|j| }t|| |jt| }t|| g d}tjtdd |j|  W d    n1 s0    Y  g d}tjtdd |j|  W d    n1 s0    Y  d S )Nr       	   r   )      @r    r!   r   abcd)testZtest1otherAr   BCr   r   r   r   r   g      @r!   drh   )r   r   Enot in indexr   )FGHr   r   r   )	r   r{   r0   r1   ro   r	   r,   r-   KeyError)r3   r4   rowsr7   r6   r8   r8   r9   %test_dups_fancy_indexing_not_in_order  s$    
(z/TestFancy.test_dups_fancy_indexing_not_in_orderc                 C   s   t tjddtdd}|rdtjtt	
dd |jdg  W d    q1 sX0    Y  n@tjtt	
dd |jdg  W d    n1 s0    Y  d S )	Nr   )r    r"   ZAABCDr   z;"None of [Index(['E'], dtype='string')] are in the [index]"r   r   z;"None of [Index(['E'], dtype='object')] are in the [index]")r   r&   rC   rD   standard_normalr{   r,   r-   r   reescaper0   )r3   using_infer_stringZdfnur8   r8   r9   +test_dups_fancy_indexing_only_missing_label   s$    ,z5TestFancy.test_dups_fancy_indexing_only_missing_labelvals)r   r   r   abcc                 C   sL   t d|i}tjtdd |jg d  W d    n1 s>0    Y  d S )Nr   r   r   )r      r   r   r,   r-   r   r0   )r3   r   r4   r8   r8   r9   &test_dups_fancy_indexing_missing_label6  s    z0TestFancy.test_dups_fancy_indexing_missing_labelc                 C   sX   t dg dig dd}tjtdd |jg d  W d    n1 sJ0    Y  d S )Nr   r   r   r   r   r   )r   r   r   r   r3   r4   r8   r8   r9   #test_dups_fancy_indexing_non_unique=  s    z-TestFancy.test_dups_fancy_indexing_non_uniquec                 C   sf   t tjddg dd}tjtdd& |jd d g df  W d    n1 sX0    Y  d S )Nr   )r    r    )r   r   r   r   r   r_   r   r   )r   r   r   )	r   r&   rC   rD   r   r,   r-   r   r0   r   r8   r8   r9   test_dups_fancy_indexing2C  s    z#TestFancy.test_dups_fancy_indexing2c                 C   s   t tjddg dddgd}|jdd }|jd	dg }t|| |}|jd d ddgf }t|| |jddd d f }|jd	dgddgf }t|| d S )
Nr   )r   r   )	r   r   r   r   r   r   r"   r"   r"   re   rg   rw   r   r!   r   )	r   r&   rC   rD   r   rG   r0   r1   ro   )r3   r4   r7   r6   r8   r8   r9   test_dups_fancy_indexing3N  s    z#TestFancy.test_dups_fancy_indexing3c                 C   sF   t tdg dd}t tdddgd}||dg }t|| d S )Nr"   r   r   r"   r   r   r   )r   ranger1   r2   )r3   
indexer_slr]   r7   r6   r8   r8   r9   test_duplicate_int_indexingb  s    z%TestFancy.test_duplicate_int_indexingc                 C   s|   t ddddddddd}|d	 d
d |d< |d dk}|j|d	f dd }||j|df< |jd dksxJ d S )Naaabbbcccr   r   r"   o      iM  rf   re   c                 S   s   | dkrdS | S )Nr   _r8   xr8   r8   r9   <lambda>p      z9TestFancy.test_indexing_mixed_frame_bug.<locals>.<lambda>r   r   c                 S   s   | dkrdS | S )Nr   -----r8   r   r8   r8   r9   r   t  r   )r   r   r   )r   applyr0   rG   )r3   r4   idxtempr8   r8   r9   test_indexing_mixed_frame_bugi  s    z'TestFancy.test_indexing_mixed_frame_bugc                 C   s   t tjdddgg d d}tjttdd |g d  W d    n1 sZ0    Y  |d	 j	d
 |j	d
 ksJ d S )Nr   )r   r    re   )            r_   z'[26, -8] not in index'r   )r      ir   r   )
r   r&   rC   rD   r,   r-   r   r   r   shaper   r8   r8   r9    test_multitype_list_index_accessx  s    *z*TestFancy.test_multitype_list_index_accessc                 C   s   t ddddddddddd	d
ddddddtjtjtjtjdtjtjtjtjtjtjdddddddddddddddddddd d d d d d d d d d d!dd" }|g d# j|jd$}t|| d S )%NZnonQC10Z11Z12Z13Z24Z35Z46Z4748Z59)         r   r   r   r         r                       r   goe@gm77M @g,o@g2?g@?gufn?g%?gTFa?gI"?g+ew7?gy7Z?g9?gGp#?gC?i  i  i  i  i  )PRuidQCdatayear)r   r   r   r_   )	r   r&   rk   Zreset_indexZ	set_indexZreindexr`   r1   ro   r   r8   r8   r9   test_set_index_nan  s    FzTestFancy.test_set_index_nanzcan't multiply arrow stringsreasonc              
   C   s8  t g dg dttdttdddddi}tj|jd< | }|j	  }d	dg}|d
 }tj|jd< t dtjddddgg dt
g ddddtjddgd}|j||f |j||f< t|| t dtjddddgg dg ddddtjddgd}| }|j||f j|j||f< t|| d S )N)re   rg   re   rg   re   rg   )r   r   r   r   r   r   r!      )FCZPFcol1col2r   r*   r   r   r   r   )r"   r"   re   rg   )r   r   r#   r!   r   r   r      r   r   )r   r{   r   astyper&   rk   rG   r|   r   Zisnar   r0   r1   ro   values)r3   r4   df2maskcolsZdftr7   r8   r8   r9   test_multi_assign  sD    


zTestFancy.test_multi_assignc                 C   s   t g dg dg dg dd}| }|d dk}dD ]}|d |j||f< q:|d  |j|d dkdd	gf< t|| d S )
N)r   r   r   r   r   )r   r   r   r   r   )r"   r#   r    r!   r   )r   r   r   Dr   r   r   r   r   r   )r   r|   r0   r1   ro   )r3   r4   r7   r   colr8   r8   r9   "test_multi_assign_broadcasting_rhs  s    	"z,TestFancy.test_multi_assign_broadcasting_rhsc                 C   s^   t ddgdgd}g d|jd< ddg|jd< t ddgdgd}ddg|jd< t|| d S )Nr   r   rw   r   r   r   )r   rG   r1   ro   r   r8   r8   r9   test_setitem_list  s    zTestFancy.test_setitem_listc                 C   s   t dgttdgtd}|jjs(J tjt	dd |d  W d    n1 sT0    Y  tjt	dd |j
d  W d    n1 s0    Y  d S )Nr   z
2011-01-01r   '2011'r   2011r   r   )r   r	   rJ   	Timestamprn   r   _is_all_datesr,   r-   r   r0   r   r8   r8   r9   test_string_slice"  s    &zTestFancy.test_string_slicec                 C   s   t  }|jjrJ tjtdd |d  W d    n1 s>0    Y  tjtdd |jd  W d    n1 sv0    Y  d S )Nr   r   r   z^0$r   )r   r   r   r,   r-   r   r0   r   r8   r8   r9   test_string_slice_empty.  s    &z!TestFancy.test_string_slice_emptyc                 C   s  t g dgtdd}| }|jd d ddf tj|jd d ddf< t g dgtdd}|s|d t|d< |d t|d< t	|| | }|j
d d df tj|j
d d df< t g d	gtdd}|s|d t|d< t	|| | }|j
d d dd
gf tj|j
d d dd
gf< t g dgtdd}|sx|d t|d< |d
 t|d
< t	|| d S )N)123.4r          @r   ZABCDEFGr_   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   )r   r{   r|   rG   r   r&   r(   rn   r1   ro   r0   )r3   r   Zdf_origr4   r7   r8   r8   r9   test_astype_assignment9  s:    0(0z TestFancy.test_astype_assignmentc                 C   s   t dg di}|d tj|jd d df< t dg di}t|| t dg di}|d tj|jd d df< t|| d S )Nr   )r   r   r   r   r   )r   r   r&   r(   rG   r1   ro   r0   rp   r8   r8   r9   (test_astype_assignment_full_replacements`  s    z2TestFancy.test_astype_assignment_full_replacementsindexerc                 C   s  t tdt tdtdddfD ]}t|js4J | }d||d< t|jsVJ ||d dksjJ | }d||d< |j}d|vrt|j dg }t	|j| | }d||d< t
|js"J q"t tdtd	dfD ]}t|jsJ | }d||d< t|js J ||d dks6J | }d||d< t	|j|j | }d||d< t
|jsJ qd S )
Nr    r   r!   r   r   g?r   0g      @)r   r   r   r   r|   r   r	   tolistr1   rb   r   r&   r'   )r3   r   ss2expr8   r8   r9   test_index_type_coercionn  s6    	&z"TestFancy.test_index_type_coercionN)+__name__
__module____qualname____doc__r:   r;   r,   markfilterwarningsrW   rZ   r^   rd   rq   parametrizer   r   r   r   r   r   r{   r   r   r   r   r   r   r   r   xfailr   r   r   r   r   r   r   r   r1   getitemr0   r   r8   r8   r8   r9   r   '   sT   
*



N
0'r   c                
   @   s   e Zd Zdd Zdd Zdd Zejje	 ddd	d
 Z
ejdeddedd edddgdd Zdd Zdd Zdd Zejdg ddd Zdd Zdd Zd d! Zd"S )#TestMiscc                 C   s`   t tjddtjddd}d|d< t |d |d dgd d}t|| d S )Nr   r   )r   r   re   r   r   )r   r   re   )r   r&   rC   rD   r1   ro   rp   r8   r8   r9   test_float_index_to_mixed  s    z"TestMisc.test_float_index_to_mixedc                 C   s^   t g dg ddg dd}d|j|jd d < t g dg d	d|jd}t|| d S )
Nr   ry   rf   r   r   r   r   r   r   r   )r   r   r    )r   r0   r   r1   ro   rp   r8   r8   r9   &test_float_index_non_scalar_assignment  s    z/TestMisc.test_float_index_non_scalar_assignmentc                 C   sJ   t g dg ddg dd}| }|j|j |j|j< t|| d S )Nr   ry   rf   r  r   )r   r|   r0   r   r1   ro   r3   r4   r   r8   r8   r9    test_loc_setitem_fullindex_views  s    z)TestMisc.test_loc_setitem_fullindex_viewszcan't set int into stringr   c           	      C   sZ  dd }t ddd}g d}t||tddd	}d
|jddddddf  }| }g d|d< g d|d< |jddddf  d
9  < | }|jddddf  d
9  < ||||| ||||fD ],}|d d|d< |d dd |d< qg d|d< g d|d< t	j
tdd ||||| W d    n1 sL0    Y  d S )Nc                 S   s   t dg dtdd  }}}ddgddgtdd  }}}	|  }
||
j||f< t|
| |  }
||
j||f< t|
| |  }
||
j||	f< t|
| d S )	NZbcdr   r   r#   joejolier   r"   )r{   slicer|   r0   r1   ro   rG   )r4   rhs	right_loc
right_ilocZlbl_oneZidx_oneZ	slice_oneZlbl_twoZidx_twoZ	slice_twor}   r8   r8   r9   	run_tests  s    z.TestMisc.test_rhs_alignment.<locals>.run_testsr   r    r#   )Zjimr  r  ZjolineZabcder(   )r`   r   r   r"   r   r   )r      r   r!   r   r  )r      r   r    r   r  r   r*   c                 S   s
   d|  S )N@r8   r   r8   r8   r9   r     r   z-TestMisc.test_rhs_alignment.<locals>.<lambda>)r   z@-28z@-20z@-12g      1@)z@2g      :g      2g      $z@18zincompatible dtyper   )r&   r'   rz   r   r{   rG   r|   r   mapr1   rl   rm   )	r3   r  Zxsr   r4   r  r  r  framer8   r8   r9   test_rhs_alignment  s&    zTestMisc.test_rhs_alignmentr   r   r   d      c                 C   s   t j}t|}ttd|d}t|||d d d |dd d  t||d |d d |d dd  t|||d |d d |ddd  t|||d |d d |d d  d S )Nr   r   r   r  r   r  r   )rJ   Z
IndexSlicer	   r   r&   r'   r1   Z!assert_indexing_slices_equivalent)r3   r   ZSLCr]   r8   r8   r9   )test_str_label_slicing_with_negative_step  s    &&"z2TestMisc.test_str_label_slicing_with_negative_stepc                 C   sZ   |t t||d}tjtdd" ||d d d  W d    n1 sL0    Y  d S )Nr   zslice step cannot be zeror   r   )r&   r'   rK   r,   r-   r.   )r3   r   r   rR   rT   r8   r8   r9    test_slice_with_zero_step_raises  s    z)TestMisc.test_slice_with_zero_step_raisesc                 C   s   t g ddd}tg dg dd|d}| }dd	d}||jd
< dd	g|jd
< t|| tg dg dd|d}||jd
< tg dg dd|d}t|| d S )N)r   r    zr[   )r   r   r!   )r   r   r   )r   yr   r   c   r    )r   r   g       @)r   r   r   )r   r   g     X@)r	   r   r|   r0   r1   ro   )r3   r   r4   r7   r  r8   r8   r9   8test_loc_setitem_indexing_assignment_dict_already_exists  s    


zATestMisc.test_loc_setitem_indexing_assignment_dict_already_existsc                 C   sr   t g dg dd}|jg d d f }|jd d df jtjksFJ t|jd d df |jd d df  d S )Nr   )rg   b2Zb3rf   re   r   )r   rG   r0   r   r&   r(   r1   r2   r
  r8   r8   r9   *test_iloc_getitem_indexing_dtypes_on_empty  s    z3TestMisc.test_iloc_getitem_indexing_dtypes_on_emptyr>   )r    i?B i@B c                 C   st   t t|tjd}d|jtd< t|jtd t ddgd d|jtd< t|jtd t d	ddgd d S )
N)r   r   *   r   g      E@r   r   +   r   g     E@)r   r   r&   r*   r0   r1   r2   )r3   r>   r   r8   r8   r9   !test_loc_range_in_series_indexing  s
     z*TestMisc.test_loc_range_in_series_indexingc                 C   s   t tdddtdtdd}t dtdtdd}||  }t td	d
tjgddtjgtjgd gtdtdd}t	|| d S )Ng      "@r"   r   ABCrw   r   rt   ZABr   r   r   r   )
r   r&   r'   rz   r{   Znotnullr/   rk   r1   ro   )r3   r4   Zindex_dfr6   r7   r8   r8   r9   #test_partial_boolean_frame_indexing  s    &z,TestMisc.test_partial_boolean_frame_indexingc                 C   sH   t ddgddgd}dD ]}t|| qt|}~| d u sDJ d S )Nr   r   r   r"   rf   )r0   rG   atZiat)r   getattrweakrefref)r3   r4   r%   wrr8   r8   r9   test_no_reference_cycle(  s    
z TestMisc.test_no_reference_cyclec                 C   sN   t ddd|g}|jdd}|j| }|| }d}||ks>J ||ksJJ d S )Nr   z{1,2}F)Zdropna)r   Zvalue_countsr0   )r3   Znulls_fixturer4   vcZresult1Zresult2r7   r8   r8   r9   test_label_indexing_on_nan0  s    
z#TestMisc.test_label_indexing_on_nanN)r   r   r   r  r	  r  r,   r  r  r   r  r  r   r&   r'   Zlinspacer  r  r#  r%  r(  r*  r0  r2  r8   r8   r8   r9   r    s"   
/$


r  c                	   @   s   e Zd Zg dejddgefg dejddgdfedd	d	edd	dedd	dgeedd	dedd	dgdfg d
g ddfgZe	j
dedd Ze	j
dedd Ze	j
dedd Zdd ZdS )TestDataframeNoneCoercionr   r   r"   r  r   r   N  r   ru   )Nr   rv   r7   c                 C   sB   |\}}}t d|i}d |jddgf< t d|i}t|| d S Nr   r   r   r0   r1   ro   r3   r7   Z
start_dataZexpected_resultwarnstart_dataframeZexpected_dataframer8   r8   r9   test_coercion_with_locK  s
    
z0TestDataframeNoneCoercion.test_coercion_with_locc                 C   sJ   |\}}}t d|i}d ||d |d d k< t d|i}t|| d S r5  )r   r1   ro   r7  r8   r8   r9   (test_coercion_with_setitem_and_dataframeU  s
    
zBTestDataframeNoneCoercion.test_coercion_with_setitem_and_dataframec                 C   sL   |\}}}t d|i}d |j|d |d d k< t d|i}t|| d S r5  r6  r7  r8   r8   r9   $test_none_coercion_loc_and_dataframe_  s
    
z>TestDataframeNoneCoercion.test_none_coercion_loc_and_dataframec              	   C   s   t g dg dtdddtdddtdddgg dd}d |jd	< t tjddgtjd
dgttdddtdddgg dd}t|| d S )Nr   r  r4  r   r   r"   rj   )re   rg   rh   r   r   r   r   )Nrg   rh   )r   r   rG   r&   rk   r
   r1   ro   )r3   r9  r   r8   r8   r9   test_none_coercion_mixed_dtypesi  s      


z9TestDataframeNoneCoercion.test_none_coercion_mixed_dtypes)r   r   r   r&   rk   rm   r   r
   ZEXPECTED_SINGLE_ROW_RESULTSr,   r  r  r:  r;  r<  r=  r8   r8   r8   r9   r3  <  s    
	
	
	r3  c                
   @   s   e Zd Zdd Zejdeej	e
j	e
jegejdddgedde	g dgd	d
 Zejddedgdd Zejdeej	e
j	e
jegejdddgedde	g dgdd ZdS )TestDatetimelikeCoercionc                 C   s   |}t dd|d}t|jdd}|j}d}|| |||d< |d u rn|j|jksZJ |jj|ju s|J n|j|u s|J d S )N
2016-01-01r"   periodstzTdeepz
2018-01-01r   )r   r   r|   rM   _validate_setitem_valuer   _ndarray)r3   tz_naive_fixturerS   rB  dtir]   r   Znewvalr8   r8   r9   test_setitem_dt64_string_scalar  s    
z8TestDatetimelikeCoercion.test_setitem_dt64_string_scalarboxr\   r   r   r   )TTFc           
      C   s   |}t |tr"|tju r"tdd}tdd|d}t|jdd}|j}|dd	g}	||	 |	|||< |d u r|j	|j	ksJ |jj
|j
u sJ n|j|u sJ d S )
Nr   r   r?  r"   r@  TrC  z
2019-01-01z
2010-01-02)rI   r  r1   r0   r   r   r|   rM   rE  r   rF  )
r3   rG  rS   r\   rJ  rB  rH  r]   r   newvalsr8   r8   r9   test_setitem_dt64_string_values  s    

z8TestDatetimelikeCoercion.test_setitem_dt64_string_valuesscalarz3 Daysr#   c                 C   sN   t ddd}t|jdd}|j}|| |||d< |jj|ju sJJ d S )N1 Dayr"   rA  TrC  r   )r   r   r|   rM   rE  rF  )r3   rS   rM  tdir]   r   r8   r8   r9   test_setitem_td64_scalar  s    
z1TestDatetimelikeCoercion.test_setitem_td64_scalarc                 C   sx   t |tr|tju rtdd}tddd}t|jdd}|j}|dd	g}|| ||||< |jj	|j	u stJ d S )
Nr   r   rN  r"   rO  TrC  z10 Daysz44 hours)
rI   r  r1   r0   r   r   r|   rM   rE  rF  )r3   rS   r\   rJ  rP  r]   r   rK  r8   r8   r9   test_setitem_td64_string_values  s    

z8TestDatetimelikeCoercion.test_setitem_td64_string_valuesN)r   r   r   rI  r,   r  r  r{   r&   r/   rJ   ZCategoricalr	   r  rL  r   ZHourrQ  rR  r8   r8   r8   r9   r>    s   
r>  c                  C   s   t tjddgddtjddgddddd	gd
} ttjddgddddgdd}| jd }t|| | jd }t|| d S )Nr   r   Int64r   r"   r#   r   re   rg   r   r   r   r$   r   )r   rJ   r/   r   r0   r1   r2   rG   )r4   r7   r6   r8   r8   r9   "test_extension_array_cross_section  s     

rT  c                  C   s   t tjddgddtjddgdddddgd	} | jd }tddgdd
dgdd}t|| | jd }t|| t tjddgddtddgdddgd	} | jd }tddgt	d
dgdd}t|| | jd }t|| d S )Nr   r   rS  r   r(   r   re   rg   r   r   r   )r   r   r%   r   )
r   rJ   r/   r&   r0   r   r1   r2   rG   rn   )r4   r6   r7   r8   r8   r9   +test_extension_array_cross_section_converts  s(    

 

rU  z	ser, keysr   )r   r   r   r   r   )r   r   c                 C   s   t d }}tj||d || |  W d    n1 s:0    Y  |tjkrXtd }}tj||d d|| |< W d    n1 s0    Y  d S )NzToo many indexersr   ztoo many indices for arrayr   )r   r,   r-   r1   rG   rP   )r]   keys
indexer_liZexp_errZexp_msgr8   r8   r9   'test_ser_tup_indexer_exceeds_dimensions   s    
*

rX  c                 C   sB   t dg}| |ddg }t ddgtddgd}t|| d S )Nr   r   r   )r   r	   r1   r2   )rW  r]   resr   r8   r8   r9   (test_ser_list_indexer_exceeds_dimensions  s    
rZ  valuer   rg   c                 C   s   t dg di}dddg}tjt|d | |jd< W d    n1 sL0    Y  t g dtjg dtd	d
}tjtdd | |jd< W d    n1 s0    Y  d S )Nr   r   rB   z"Must have equal len keys and value(setting an array element with a sequencer   r   r   r   re   rg   r   r   )	r   rO   r,   r-   r.   r0   r&   r/   rn   )r[  r4   r5   r8   r8   r9   %test_scalar_setitem_with_nested_value  s    ( r_  c                 C   s   t g d}tjtdd | ||d< W d    n1 s<0    Y  t g dtd}| ||d< t| tjr|jd | k	 sJ n|jd | ksJ d S )Nr   r\  r   r   r^  r   )
r   r,   r-   r.   rn   rI   r&   rN   r0   all)r[  rS   r]   r8   r8   r9   ,test_scalar_setitem_series_with_nested_value6  s    *ra  )r   r   r   c                 C   s   t dg di}| |jd< t g ddtjtjgd}t|| t g dtjg dtdd}| |jd< t| tj	r|jd | k
 sJ n|jd | ksJ d S )Nr   r   r]  r   r   r^  r   )r   r0   r&   rk   r1   ro   r/   rn   rI   rN   r`  )r[  r4   r7   r8   r8   r9   -test_scalar_setitem_with_nested_value_length1H  s    
 
rb  c                 C   s   t g d}t| tjr>| ||d< t g d}t|| n:tjtdd | ||d< W d    n1 sn0    Y  t g dt	d}| ||d< t| tjr|j
d | k sJ n|j
d | ksJ d S )Nr  r   )r   r   r   r\  r   r^  r   )r   rI   r&   rN   r1   r2   r,   r-   r.   rn   r0   r`  )r[  rS   r]   r7   r8   r8   r9   4test_scalar_setitem_series_with_nested_value_length1]  s    *rc  c                  C   s   t dddgd} t  | d< t  | jd< t| jd t   t| jd t   t dddgd}t  |jd< t|jd t   d S )NOre   rg   )r   r   r   )r   r0   r1   r2   rG   )s1r   r8   r8   r9   +test_object_dtype_series_set_series_elementx  s    
rf  )0r   r/   r   r   r-  numpyr&   r,   Zpandas._configr   Zpandas.errorsr   Zpandas.core.dtypes.commonr   r   r   ZpandasrJ   r   r	   r
   r   r   r   r   Zpandas._testingZ_testingr1   Zpandas.tests.indexing.commonr   Z!pandas.tests.indexing.test_floatsr   r   r  r3  r>  rT  rU  r  r  r{   rX  rZ  r_  ra  rb  rc  rf  r8   r8   r8   r9   <module>   s`   $	    x "CS$

&
&
 
 
