a
    nÝEbƒ  ã                   @   sZ  d dl Z d dl mZ d dlZd dlmZ d dlZd dlZd dlm	Z	 d dl
m  mZ d dlZd dlmZmZmZmZmZmZ d dlmZmZmZ ejjZej d¡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d„ Z(dd„ Z)ej *dg d¢¡d d!„ ƒZ+d"d#„ Z,ej-d$d%„ ƒZ.d&d'„ Z/d(d)„ Z0d*d+„ Z1d,d-„ Z2d.d/„ Z3dS )0é    N)Ú	timedelta)Úcatch_warnings)Ú	Timestamp)Ú	DataFrameÚSeriesÚ_testingÚconcatÚ
date_rangeÚread_hdf)Ú_maybe_removeÚensure_clean_pathÚensure_clean_storez7ignore:object name:tables.exceptions.NaturalNameWarningc                 C   s”  t | ƒ��t}tdd���F t ¡ }t|dƒ | d|d d… ¡ | d|dd … ¡ t |d |¡ t|dƒ |jd|d d… dd� | d|dd … ¡ t |d |¡ t|dƒ | d	|d d… ¡ | d	|dd … ¡ t |d |¡ t|d
ƒ | d
|d d… ¡ | d
|dd … ¡ t |d |¡ tddgddgddgddggd�}d|d< t	j
|jd< t|dƒ | d|¡ t |d |¡ ttt	jjdddd�t	jd�tt	jjdddd�t	jd�tt	jjdddd�t	jd�tg d¢t	jd�dœt	 d¡d�}t|dƒ | d|¡ t |d |¡ t|dƒ |jd|g d¢d� t |d |¡ W d   ƒ n1 �sf0    Y  W d   ƒ n1 �s†0    Y  d S ) NT©ÚrecordÚdf1é
   Údf2Útable©ÚformatÚdf3z/df3z/df3 foozdf3 fooé   é   r   )ÚdataÚtestingÚmixed_column)r   r   Údféÿ   é   )ÚhighÚsize©Údtypeiÿÿ  i   @)l           l          @l            l            l            )Úu08Úu16Úu32Zu64©ÚindexZuints)r#   r$   r%   ©Údata_columns)r   r   ÚtmÚmakeTimeDataFramer   ÚappendÚassert_frame_equalÚputr   ÚnpÚnanÚlocr   ÚrandomÚrandintZuint8Zuint16Zuint32Zuint64Úarange)Ú
setup_pathÚstorer   Z	uint_data© r7   úd/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/io/pytables/test_append.pyÚtest_append   s`    



"
ÿÿÿþöð

r9   c           	      C   sº  t | ƒ��š}t ¡ }t ¡ }tt d¡ƒ}| d|¡ |d }t ||¡ |j	d u sXJ ‚| d|¡ |d }t ||¡ |j	d u s†J ‚d|_	| d|¡ |d }t ||¡ |j	|j	ks¼J ‚||dk }| 
dd¡}t ||¡ ||dk|jd	k @  }| 
dd
¡}t ||¡ ttj dd¡dgd�}t t|ƒ¡|d< d|d< d|jdd…df< |jddgdd� | ¡ }|j d¡|_| d|¡ t |d |¡ W d   ƒ n1 �s¬0    Y  d S )Néd   ÚssÚtsÚfooÚnsé<   zfoo>60éF   éZ   zfoo>70 and index<90r   r   ÚA©ÚcolumnsÚBÚCÚbaré   T©Zinplacer   Úmi)r   r*   ZmakeStringSeriesZmakeTimeSeriesr   r/   r4   r,   Úassert_series_equalÚnameÚselectr'   r   r2   ÚrandnÚlenr1   Ú	set_indexÚstackZ	droplevel)	r5   r6   r;   r<   r>   ÚresultÚexpectedrJ   Úsr7   r7   r8   Útest_append_seriesd   s@    rU   c                 C   sú  t | ƒ��Ú}tttj d¡ƒ d¡tj d¡tj d¡ddtdƒt dddd	d	¡d
œt 	d¡d�}t
|dƒ tj|jd	d…g d¢f< | d|d d… ¡ | d|dd … ¡ t |d |¡ | ¡ }tj|jd d …df< t
|dƒ | d|d d… ¡ | d|dd … ¡ t |d |¡ | ¡ }tj|jd d …df< t
|dƒ | d|d d… ¡ | d|dd … ¡ t |d |¡ | ¡ }tj|jd d …df< t
|dƒ | d|d d… ¡ | d|dd … ¡ t |d |¡ W d   ƒ n1 �sì0    Y  d S )Né   Zint32r=   rG   Ú20010101éÑ  r   r   r   )rB   ÚA1ÚA2rE   rF   ÚDÚEr&   r   é   )rY   rE   r[   r\   r   rY   rZ   r   r\   r   )r   r   r   r/   r2   rN   Úastyper   Údatetimer4   r   r0   r1   r,   r*   r-   Úcopy)r5   r6   r   r   r   r   r7   r7   r8   Útest_append_some_nans“   sF    

ù	ö



ra   c                 C   sv  t | ƒ��V}ttj d¡tj d¡dœt d¡d�}tj|jdd…d d …f< t|dƒ |j	d|d d… dd	� |j	d|dd … dd	� t
 |d |d
d … ¡ t|dƒ |j	d|d d… dd	� |j	d|dd … dd	� t
 |d |¡ t dd¡ t|dƒ | 	d|d d… ¡ | 	d|dd … ¡ t
 |d |¡ t dd¡ t|dƒ | 	d|d d… ¡ | 	d|dd … ¡ t
 |d |d
d … ¡ ttj d¡tj d¡dddœt d¡d�}tj|jdd…d d …f< t|dƒ |j	d|d d… dd	� |j	d|dd … dd	� t
 |d |¡ t|dƒ |j	d|d d… dd	� |j	d|dd … dd	� t
 |d |¡ ttj d¡tj d¡ddtdƒt ddddd¡dœt d¡d�}tj|jdd…d d …f< t|dƒ |j	d|d d… dd	� |j	d|dd … dd	� t
 |d |¡ t|dƒ |j	d|d d… dd	� |j	d|dd … dd	� t
 |d |¡ W d   ƒ n1 �sh0    Y  d S )NrV   )rY   rZ   r&   r   r]   r   r   T)Údropnaéüÿÿÿr   Fzio.hdf.dropna_tabler   Zdf4r=   rG   )rY   rZ   rE   rF   rW   rX   r   r   )rY   rZ   rE   rF   r[   r\   )r   r   r/   r2   rN   r4   r0   r1   r   r,   r*   r-   ÚpdZ
set_optionr   r_   ©r5   r6   r   r7   r7   r8   Útest_append_all_nansÂ   sx    þ





üù




ú÷

rf   c              	   C   s@  t | ƒ�� }t ¡ }|j d ¡|_t|dƒ |jd|jd d …d d…f dgd� | d|jd d …dd …f ¡ t |d |¡ | 	dd¡}|j
dgd�}t ||¡ | 	dd¡}|j
dg|jd	d
… d�}t ||¡ t d¡}tjt|d�� | 	dd¡ W d   ƒ n1 �s0    Y  W d   ƒ n1 �s20    Y  d S )Nr   r   rD   )Zaxesú	columns=ArB   rC   )rg   zindex=df.index[0:4]r   é   )rD   r'   zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]©Úmatchzcolumns=A and index>df.index[4])r   r*   r+   r'   Z
_with_freqr   r,   Úilocr-   rM   ÚreindexÚreÚescapeÚpytestÚraisesÚ	TypeError)r5   r6   r   rR   rS   Úmsgr7   r7   r8   Ú!test_append_frame_column_oriented  s$    
$ÿrs   c              	   C   sT  t | ƒ�ð}tdƒD ]Ö}ttj dd¡tdƒd�}tdƒ|d< |d  |d 7  < tdgt|ƒ dd�|d< tdgt|ƒ d	d�|d	< |d d
kr°|d= tdgt|ƒ dd�|d< |d d
krÎ| 	d¡}||d< |j
ddd� | d|¡ qW d   ƒ n1 sþ0    Y  t | ƒ��,}ttj dd¡tdƒdd�}tdgt|ƒ dd�|d< tdgt|ƒ d	d�|d	< | d|¡ tdgt|ƒ d	d�|d< t d¡}tjt|d�� | d|¡ W d   ƒ n1 �sÆ0    Y  tdgt|ƒ dd�|d< t d¡}tjt|d�� | d|¡ W d   ƒ n1 �s&0    Y  W d   ƒ n1 �sF0    Y  d S )Nr   r   ZABrC   r'   r   Zint64r!   Zint16r   rH   rB   TrI   r   Zfloat64)rD   r"   Zint16_2zCcannot match existing table structure for [int16] on appending datari   ç      ð?Zfloat_3zAcannot match existing table structure for [A,B] on appending data)r   Úranger   r/   r2   rN   Úlistr   rO   ÚpoprP   r,   rm   rn   ro   rp   Ú
ValueError)r5   r6   Úir   Úarr   r7   r7   r8   Ú)test_append_with_different_block_ordering5  s@    

,ÿ,ÿr{   c              
      s   t | ƒ�� ‰ tdd���ò ‡ fdd„}tddgddggƒ}ˆ  d	|¡ t ˆ  d	¡|¡ |d	d
dƒ tddgddggƒ}ˆ  d	|¡ t||gƒ}t ˆ  d	¡|¡ |d	d
dƒ tddgddggƒ}ˆ jd|ddid� t ˆ  d¡|¡ |dd
dƒ ˆ  d|¡ tddgddggƒ}d}tj	t
|d�� ˆ  d|¡ W d   ƒ n1 �sJ0    Y  t ¡  d¡}ˆ jd|d ddid� t ˆ  d¡|d ¡ ˆ jd|d dddid� t ˆ  d¡|d ¡ ˆ jd |d!dd"id#� | ¡  ¡ jd$d%� d¡}ˆ  d |¡ t ˆ  d ¡t||gƒ¡ ˆ jd&|d d!dd"id#� ˆ  d&|d ¡ t ˆ  d&¡t|d |d gƒ¡ tˆ d'ƒ t ¡ }d(|d)< tj|j|jd*d… d)f< d+|d,< tj|j|jdd-… d,f< d.|d/< tj|j|jd*d … d/f< ˆ  d'|¡ ˆ  d'¡}t ||¡ W d   ƒ n1 �s0    Y  W d   ƒ n1 �s20    Y  t | ƒ��Ä‰ ‡ fd0d„}td(d+d1œtd2ƒd3�}tˆ d'ƒ ˆ jd'|d4d5id� |d'd4d5ƒ ˆ  d'¡jd4gk�s¬J ‚tˆ d'ƒ ˆ jd'|dgd4d5id� |d'd4d5ƒ ˆ  d'¡jdd4gk�sôJ ‚tˆ d'ƒ ˆ jd'|dgdd5id� |d'dd5ƒ |d'd6d5ƒ ˆ  d'¡jdgk�sFJ ‚tˆ d'ƒ ˆ jd'|d d7… d5d� ˆ jd'|d7d … d5d� t ˆ d' |¡ tg d8¢d4gd9�}tˆ d'ƒ t d:¡}tj	t
|d��& ˆ jd'|d;d;d<œd� W d   ƒ n1 �sò0    Y  W d   ƒ n1 �s0    Y  d S )=NTr   c                    s"   t ˆ  | ¡jj|ƒj|ksJ ‚d S ©N©ÚgetattrÚ
get_storerr   ÚdescriptionÚitemsize©ÚkeyrL   r    ©r6   r7   r8   Ú	check_coll  s    ÿÿz+test_append_with_strings.<locals>.check_colé{   Z	asdqwertyiY  ZdggnhebbsdfbdfbZdf_bigÚvalues_block_1r]   é|   ZasdqyiZ  ZdggnhefbdfbZdf_big2Úvaluesé2   ©Úmin_itemsizeÚdf_newZ
abcdefqhijZabcdefghijklmnopqrtsuvwxyzz¯Trying to store a string with len \[26\] in \[values_block_1\] column but\nthis column has a limit of \[15\]!\nConsider using min_itemsize to preset the sizes on these columnsri   rF   r;   rE   r'   rh   Zss2©r)   rŒ   Zss3r   é   )r   rŒ   Zlonger)rF   Zss4r   r=   Ústringr   rG   Ústring2é   ZbahZstring3c                    s"   t ˆ  | ¡jj|ƒjsJ |ƒ‚d S r|   r}   r‚   r„   r7   r8   r…   ¸  s    ©rB   rE   r   r&   rB   éÈ   Zvalues_block_0r   )r=   r=   r=   Úbarhr•   r•   rC   zBmin_itemsize has the key [foo] which is not an axis or data_columnrV   )r=   Zfoobar)r   r   r   r,   r*   r-   rM   r   ro   rp   rx   ZmakeMixedDataFramerP   rK   r.   r`   Zreset_indexZassignr   r+   r/   r0   r1   r'   ru   r   r)   rm   rn   )r5   r…   r   r   rS   r�   rr   rR   r7   r„   r8   Útest_append_with_stringsg  s”    ÿÿ,"

L




ÿr–   c                 C   s†   t | ƒ�j}tdg d¢iƒ}|jd|d d… ddid� |jd|dd … ddid� t | d¡|¡ W d   ƒ n1 sx0    Y  d S )NÚx)rz   ÚbÚcÚdÚeÚfÚ r   éÿÿÿÿr   r‹   )r   r   r,   r*   r-   rM   re   r7   r7   r8   Útest_append_with_empty_stringà  s
    
rŸ   c           	   	      sÜ  t | ƒ��œ‰ t ¡ }d|jd|j d¡f< tˆ dƒ ˆ jd|d d… dgd� ˆ  d|dd … ¡ t ˆ d |¡ ˆ j	j
jjjjjdu sŒJ ‚ˆ j	j
jjjjjdu s¦J ‚ˆ  dd¡}||jdk }t ||¡ ˆ  dd	¡}|j|jd
d … d�}||jdk }t ||¡ | ¡ }d|d< tj|j|jdd
… df< d|j|jdd… df< tˆ dƒ ˆ jd|dgd� ˆ  dd¡}||jdk }t ||¡ ‡ fdd„}W d   ƒ n1 �s®0    Y  t | ƒ�–‰ tˆ dƒ ˆ jd|dgddid� |dddƒ tˆ dƒ ˆ jd|dgdd� |dddƒ tˆ dƒ ˆ jd|dgddid� |dddƒ W d   ƒ n1 �s^0    Y  t | ƒ�t‰ d|d< d|d< d|d< tˆ dƒ ˆ jd|ddgdddd œd� |dddƒ |dddƒ |dd!dƒ W d   ƒ n1 �sì0    Y  t | ƒ��N‰ | ¡ }d|jd|j d"¡f< d#|jd|j d¡f< d|d< |j d¡}tj|jdd
…|f< d|jdd…|f< d|d< |j d¡}tj|jdd…|f< d|jd$d%…|f< tˆ dƒ ˆ jd|g d&¢d� ˆ  dd'¡}||jdk|jdk@ |jdk@ |jdk @  }tj||d(d)� ˆ  dd*¡}||jdk|jd+k@  }t ||¡ W d   ƒ n1 �sV0    Y  t | ƒ��‰ | ¡ }d|d< tj|j|jd
d… df< d|j|jd$d,… df< d+|d< td-ƒ|d.< |jdd/�}tj|j|jd0d… g d1¢f< tˆ d2ƒ ˆ jd2|g d3¢d� ˆ  d2d¡}||jdk }t ||¡ ˆ  d2g d4¢¡}||jdk|jdk@ |jdk@  }tj||d(d)� W d   ƒ n1 �sˆ0    Y  t | ƒ��*‰ tj d5¡ td6d%d7�}t tj !d%d0¡|g d8¢d9�}d|d< tj|j|jd
d… df< d|j|jd$d,… df< |jd d …dd:gf  "¡ |jd d …dd:gf< d+|d< ˆ jd2|g d;¢d� ˆ  d2d¡}||jdk }t ||¡ ˆ  d2g d<¢¡}||jdk|jdk@ |jdk@  }t ||¡ W d   ƒ n1 �sÎ0    Y  d S )=Nrt   r   rE   r   r   r(   TúB>0zB>0 and index>df.index[3]rh   r&   r=   r�   r   rG   r   r�   zstring='foo'c                    s"   t ˆ  | ¡jj|ƒj|ksJ ‚d S r|   r}   r‚   r„   r7   r8   r…     s    ÿz0test_append_with_data_columns.<locals>.check_colé   rŽ   r‰   Z	foobarbahr‘   Z
foobarbah1Zstring_block1Z
foobarbah2Zstring_block2é(   rŠ   )r�   r‘   r‰   r‡   rB   g      ð¿é   r’   )rB   rE   r�   r‘   z.string='foo' and string2='foo' and A>0 and B<0F)Z
check_freqzstring='foo' and string2='cool'Úcoolé	   Z20010102r_   )r_   rH   )rB   rE   r_   Údf_dc)rE   rF   r�   r‘   r_   )úB > 0úC > 0zstring == fooiÒ  z1/1/2000)Zperiods)rB   rE   rF   )r'   rD   rF   )rE   rF   r�   r‘   )r§   r¨   zstring == "foo")#r   r*   r+   rk   rD   Zget_locr   r,   r-   Ú_handleÚrootr   r   Úcolsr'   Z
is_indexedrE   rM   rl   r`   r/   r0   r1   r�   r‘   rB   r   Ú_convertrF   r2   Úseedr	   r   rN   Úabs)	r5   r   rR   rS   r�   r…   Úslr¦   r'   r7   r„   r8   Útest_append_with_data_columnsë  sâ    

,



,


ü,
ÿþýÿ,

ÿ"0,"r°   c                 C   sî   |}d |j _t| ƒ�`}| d|¡ | d¡}t ||¡ |jdddgd�}|jddgd�}t ||¡ W d   ƒ n1 sz0    Y  tdƒ�N}|j	|ddd� t
|dddgd�}|jddgd�}t ||¡ W d   ƒ n1 sà0    Y  d S )	NrJ   rB   rE   rC   ztest.hdfr   r   r   )rD   rL   r   r,   rM   r*   r-   rl   r   Zto_hdfr
   )r5   Z multiindex_dataframe_random_datar   r6   rR   rS   Úpathr7   r7   r8   Útest_append_hierarchical€  s    

*
r²   c                 C   s€   t | ƒ�d}t ¡ }|jd|dd� | d¡}t ||¡ |jd|dd� | d¡}t ||¡ W d   ƒ n1 sr0    Y  d S )Nr   r   ©Ú	chunksizer   r   )Zexpectedrows)r   r*   ÚmakeDataFramer,   rM   r-   )r5   r6   r   rR   r7   r7   r8   Útest_append_misc•  s    


r¶   r´   )r   r”   iè  c                 C   s¨   t  ¡ }d|d< d|d< |d  d¡|d< |d dk|d< tdƒ|d	< td
ƒ|d< t| dd��6}|jd||d� | d¡}t  ||¡ W d   ƒ n1 sš0    Y  d S )Nr=   r�   rt   Zfloat322Zfloat32r   ÚboolÚ20130101Ztime1Z20130102Ztime2Úw)ÚmodeÚobjr³   )r*   rµ   r^   r   r   r,   rM   r-   )r5   r´   r   r6   rR   r7   r7   r8   Útest_append_misc_chunksize¢  s    
r¼   c              	   C   s   t | ƒ�ä}ttdƒd�}| d|¡ tjtdd�� | d¡ W d   ƒ n1 sR0    Y  ttj	 
dd¡tdƒd�}| d|¡ t | d¡|¡ | d|¡ t | d¡|¡ ttdƒd�}| d|¡ t | d¡|¡ W d   ƒ n1 sò0    Y  d S )	NÚABCrC   r   z 'No object named df in the file'ri   r   rH   r   )r   r   rv   r,   ro   rp   ÚKeyErrorrM   r/   r2   Zrandr*   r-   r.   )r5   r6   Zdf_emptyr   r7   r7   r8   Útest_append_misc_empty_frame²  s    
(r¿   c              	   C   s  t | ƒ��ä}t ¡ }dggt|ƒ |d< |jd tjks<J ‚t d¡}t	j
t|d�� | d|¡ W d   ƒ n1 sv0    Y  dggt|ƒ |d< dggt|ƒ |d< t	j
t|d�� | d|¡ W d   ƒ n1 sØ0    Y  t ¡ }tt dd	d
¡|jd�}| t¡}tj|dd…< ||d< |jd tjk�s8J ‚d}t	j
t|d�� | d|¡ W d   ƒ n1 �sn0    Y  d}t	j
t|d��" | dt d¡¡ W d   ƒ n1 �s´0    Y  t d¡}t	j
t|d��& | dtt d¡ƒ¡ W d   ƒ n1 �s0    Y  t ¡ }| d|¡ d|d< t d¡}t	j
t|d�� | d|¡ W d   ƒ n1 �sf0    Y  t|dƒ tdƒ|d< | d|¡ d|d< t d¡}t	j
t|d�� | d|¡ W d   ƒ n1 �sÖ0    Y  W d   ƒ n1 �sö0    Y  d S )Nrz   ÚinvalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtyperi   r   Zinvalid2Zinvalid3rX   r   r   r&   r   r   z>too many timezones in this block, create separate data columnsz(value must be None, Series, or DataFramer   z]cannot properly create the storer for: [group->df,value-><class 'pandas.core.series.Series'>]r=   z‰invalid combination of [non_index_axes] on appending data [(1, ['A', 'B', 'C', 'D', 'foo'])] vs current table [(1, ['A', 'B', 'C', 'D'])]r¸   rG   zûinvalid combination of [values_axes] on appending data [name->values_block_1,cname->values_block_1,dtype->bytes24,kind->string,shape->(1, 30)] vs current table [name->values_block_1,cname->values_block_1,dtype->datetime64,kind->datetime64,shape->None])r   r*   rµ   rO   Zdtypesr/   Zobject_rm   rn   ro   rp   rq   r,   r   r_   r'   r^   Úobjectr0   r4   rx   r   r   )r5   r6   r   rr   rT   r7   r7   r8   Útest_append_raiseÌ  s^    ÿ**
,2ÿ6ÿ,
ÿrÂ   c                 C   s”  t tdƒdd„ tdƒD ƒdœƒ}|d |d  |d< tj|jd	d
…df< t| ƒ��,}t|dƒ |jd|dd� | 	d¡}t
 ||¡ |j	ddd�}t
 ||¡ |j	ddd�}t
 ||jd	d … ¡ | 	dd¡}t
 ||jd	d … ¡ | 	dd¡}|jdgd�}t
 ||jdd … ¡ | 	dd¡}|jdd … }t
 ||jdd … ¡ t|dƒ | d|¡ | 	d¡}t
 ||¡ W d   ƒ n1 �s†0    Y  d S )Nr¸   c                 S   s    g | ]}t d ƒt|dd� ‘qS )r¸   r   )ÚdaysÚseconds)r   r   )Ú.0ry   r7   r7   r8   Ú
<listcomp>!  s   z.test_append_with_timedelta.<locals>.<listcomp>r   r“   rB   rE   rF   rH   r   r   Tr(   zC<100000)ÚwherezC<pd.Timedelta('-3D')zC<'-3D'zC<'-500000s')Zsubsetr�   z	C<'-3.5D'r   rh   r   )r   r   ru   r/   r0   r1   r   r   r,   rM   r*   r-   rk   rb   r.   )r5   r   r6   rR   r7   r7   r8   Útest_append_with_timedelta  s<    ÿþÿ



rÈ   c              	   C   sŠ  t  ¡ }t  ¡ jdjd�}d|d< t||gdd�}t| ƒ��8}d}tjt|d��* |j	d	d
gd dœ|dd� W d   ƒ n1 s€0    Y  tjt|d��& |j	d d dœ|dd� W d   ƒ n1 sÄ0    Y  d}tjt|d�� | 	d|d¡ W d   ƒ n1 �s0    Y  |j	d	d
gd dœ|dd� |j
ddgddgdd�}||jdk|jdk@  }t  ||¡ W d   ƒ n1 �s|0    Y  d S )Nú{}_2rC   rG   r=   r   ©Zaxisz=append_to_multiple requires a selector that is in passed dictri   rB   rE   ©r   r   r   )ÚselectorzQappend_to_multiple must have a dictionary specified as the way to split the valuer   r   zA>0r    )rÇ   rÌ   r   )r*   r+   Úrenamer   r   r   ro   rp   rx   Úappend_to_multipleÚselect_as_multiplerB   rE   r-   )r5   r   r   r   r6   rr   rR   rS   r7   r7   r8   Útest_append_to_multipleK  s,    ÿ$4ÿ.ÿrÐ   c                 C   sÌ   t  ¡ }t  ¡ jdjd�}tj|jd|j ddg¡f< t	||gdd�}t
| ƒ�j}|jddgd dœ|dd	d
� | ddg¡}| ¡ }t  ||¡ t  | d¡j| d¡j¡ W d   ƒ n1 s¾0    Y  d S )NrÉ   rC   r   rB   rE   rÊ   rË   r   T©rÌ   rb   r   )r*   r+   rÍ   r   r/   r0   rk   rD   Úget_indexerr   r   rÎ   rÏ   rb   r-   Zassert_index_equalrM   r'   )r5   r   r   r   r6   rR   rS   r7   r7   r8   Útest_append_to_multiple_dropnam  s    
ÿrÓ   c              	   C   sì   t  ¡ }t  ¡ jdjd�}tj|jd|j ddg¡f< t	||gdd�}t
| ƒ�Š}|jddgd dœ|dd	d
� d}tjt|d�� | ddg¡ W d   ƒ n1 s¢0    Y  | d¡j | d¡j¡rÊJ ‚W d   ƒ n1 sÞ0    Y  d S )NrÉ   rC   r   rB   rE   rÊ   )Údf1aÚdf2arÔ   FrÑ   z,all tables must have exactly the same nrows!ri   rÕ   )r*   r+   rÍ   r   r/   r0   rk   rD   rÒ   r   r   rÎ   ro   rp   rx   rÏ   rM   r'   Úequals)r5   r   r   r   r6   rr   r7   r7   r8   Ú$test_append_to_multiple_dropna_false  s    
ÿ,r×   c              	   C   sÒ   t t dd¡t dd¡t dd¡d dd„ tdƒD ƒdd„ tdƒD ƒdœƒ}|jd	g }t| ƒ�^}|jd
gddgddgdœ|jd	g dddddœd� | g d¢¡}t 	||¡ W d   ƒ n1 sÄ0    Y  d S )Nr   é   éX   c                 S   s   g | ]}d ‘qS )rz   r7   ©rÅ   Ú_r7   r7   r8   rÆ   š  ó    z8test_append_to_multiple_min_itemsize.<locals>.<listcomp>rV   c                 S   s   g | ]}d ‘qS )Zabcder7   rÚ   r7   r7   r8   rÆ   ›  rÜ   )ÚIXÚNumÚBigNumÚStrÚLongStrr   rÝ   rÞ   rß   rà   rá   )r'   ÚnumsÚstrsr'   r   r:   r   )rà   rá   rÞ   r‹   )
r   r/   r4   ru   rk   r   rÎ   rÏ   r*   r-   )r5   r   rS   r6   rR   r7   r7   r8   Ú$test_append_to_multiple_min_itemsize“  s*    

ûÿ	
ý

ø
rä   )4r_   r   rm   Úwarningsr   Únumpyr/   ro   Zpandas._libs.tslibsr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrd   r   r   r   r*   r   r	   r
   Zpandas.tests.io.pytables.commonr   r   r   ÚmarkÚsingleZ
pytestmarkÚfilterwarningsr9   rU   ra   rf   rs   r{   r–   rŸ   r°   r²   r¶   Zparametrizer¼   r¿   Z&skip_array_manager_not_yet_implementedrÂ   rÈ   rÐ   rÓ   r×   rä   r7   r7   r7   r8   Ú<module>   sD    

E//U2y 

M1"