a
    é´«j,’  ã                   @   sb  d dl Z d dl mZ d dl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mZ d dlmZmZ ejjgZe d¡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/„ Z3d0d1„ Z4dS )2é    N©Ú	timedelta)Ú	Timestamp)Ú	DataFrameÚIndexÚSeriesÚ_testingÚconcatÚ
date_rangeÚread_hdf)Ú_maybe_removeÚensure_clean_storeÚtablesz!ignore::tables.NaturalNameWarningc              
   C   s¦  t | ƒ��†}ttj d¡ d¡ttdƒƒtdddd�d�}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 d¡jdddd�tjd�ttj d¡jdddd�tjd�ttj d¡jdddd�tjd�tg d¢tjd�d œt d¡d!�}t	|d"ƒ | 
d"|¡ tj|d" |d#d$� t	|d"ƒ |j
d"|g d%¢d&� tj|d" |d#d$� W d   ƒ n1 �s˜0    Y  d S )'Né   )é   é   ÚABCDú
2000-01-01r   ÚB©ÚperiodsÚfreq©ÚcolumnsÚindexÚ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©r   ZuintsT©Zcheck_index_type)r,   r-   r.   ©Údata_columns)r   r   ÚnpÚrandomÚdefault_rngÚstandard_normalr   Úlistr
   r   ÚappendÚtmÚassert_frame_equalÚputÚnanÚlocr   ZintegersZuint8Zuint16Zuint32Zuint64Úarange)Ú
setup_pathÚstorer%   Z	uint_data© rA   úc/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/io/pytables/test_append.pyÚtest_append   sl    
ý



"
þþþþóí

rC   c           	      C   sü  t | ƒ��Ü}ttdƒtjdd„ tdƒD ƒd�}ttjdtjd�tddd�d	�}tt d
¡ƒ}| d|¡ |d }t 	||¡ |j
d u sŠJ ‚| 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j	||dd� 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 �}|j d¡|_| d!|¡ tj	|d! |dd� W d   ƒ n1 �sî0    Y  d S )"Nr   c                 S   s   g | ]}d |› �‘qS )Zi_rA   ©Ú.0ÚirA   rA   rB   Ú
<listcomp>k   ó    z&test_append_series.<locals>.<listcomp>)r+   r   r   r*   z
2020-01-01©r   r/   éd   ÚssÚtsÚfooÚnsé<   zfoo>60éF   éZ   zfoo>70 and index<90Tr0   r   )r'   r!   ÚA©r   r   ÚCÚbaré   r'   ©Zinplace)Zfuture_stackÚmi)r   r   Úranger3   Úfloat64r>   r
   r8   r9   Úassert_series_equalÚnameÚselectr   r   r4   r5   r6   Úlenr=   Ú	set_indexÚstackZ	droplevel)	r?   r@   rK   rL   rN   ÚresultÚexpectedrX   ÚsrA   rA   rB   Útest_append_seriesh   sD    "ÿrd   c                 C   s   t | ƒ��à}tttj d¡ d¡ƒ d¡tj d¡ d¡tj d¡ d¡ddtdƒ 	d¡tdƒ 	d¡d	œt 
d¡d
�}t|dƒ tj|jdd…g d¢f< | d|d d… ¡ | d|dd … ¡ tj|d |dd� | ¡ }tj|d< t|dƒ | d|d d… ¡ | d|dd … ¡ tj|d |dd� | ¡ }tj|d< t|dƒ | d|d d… ¡ | d|dd … ¡ tj|d |dd� | ¡ }tj|d< t|dƒ | d|d d… ¡ | d|dd … ¡ tj|d |dd� W d   ƒ n1 �sò0    Y  d S )Nr   r   Zint32rM   rU   ú
2001-01-01rN   ú
2001-01-02)rR   ÚA1ÚA2r   rT   ÚDÚEr/   r   r   é   )rg   r   ri   rj   r   Tr0   rg   rh   r   rj   r    )r   r   r   r3   r4   r5   r6   Úastyper   Úas_unitr>   r   r<   r=   r8   r9   r:   Úcopy)r?   r@   r%   r   r   r    rA   rA   rB   Útest_append_some_nans—   sJ    ÿ÷ô






ro   c                 C   s  t | ƒ��ô}ttj d¡ d¡tj 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j|d |dd … d	d� t	|dƒ |j
d|d d… dd
� |j
d|dd … dd
� tj|d |d	d� t dd¡�R t	|dƒ | 
d|d d… ¡ | 
d|dd … ¡ t |d |¡ W d   ƒ n1 �sb0    Y  t dd	¡��d t	|dƒ | 
d|d d… ¡ | 
d|dd … ¡ t |d |dd … ¡ ttj d¡ d¡tj 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
� |d }|}|�rn|dd … }tj||d	d� t	|dƒ |j
d|d d… dd
� |j
d|dd … dd
� tj|d |d	d� ttj d¡ d¡tj d¡ d¡ddtdƒ d¡t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j|d |d	d� t	|dƒ |j
d|d d… dd
� |j
d|dd … dd
� tj|d |d	d� W d   ƒ n1 �sæ0    Y  W d   ƒ n1 �s0    Y  d S )Nr   r   )rg   rh   r/   r   rk   r%   r   T)Údropnaéüÿÿÿr0   r   Fúio.hdf.dropna_tabler    Zdf4rM   rU   )rg   rh   r   rT   re   rN   rf   )rg   rh   r   rT   ri   rj   )r   r   r3   r4   r5   r6   r>   r<   r=   r   r8   r9   r:   ÚpdÚoption_contextr   rm   )r?   Úusing_infer_stringr@   r%   ra   rb   rA   rA   rB   Útest_append_all_nansÇ   s„    þû


0
üù


ú÷

rv   c              	   C   sf  t | ƒ��F}ttj d¡ d¡ttdƒƒtdddd�d�}|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 �s80    Y  W d   ƒ n1 �sX0    Y  d S )Nr   ©r   r   r   r   r   r   r   r   r   r   )Zaxesú	columns=ArR   rS   )rx   zindex=df.index[0:4]r   r   zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]©Úmatchzcolumns=A and index>df.index[4])r   r   r3   r4   r5   r6   r   r7   r
   r   Z
_with_freqr   r8   Úilocr9   r:   r]   ÚreindexÚreÚescapeÚpytestÚraisesÚ	TypeError)r?   r@   r%   ra   rb   ÚmsgrA   rA   rB   Ú!test_append_frame_column_oriented#  s,    
ý
$ÿrƒ   c              	   C   s^  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 | ƒ��0}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 �s00    Y  W d   ƒ n1 �sP0    Y  d S )Nr   r   )r   r   ZABrS   r   r!   Zint64r*   Zint16r   rV   rR   TrW   r%   rZ   )r   r+   Zint16_2zCcannot match existing table structure for [int16] on appending datary   ç      ð?Zfloat_3zAcannot match existing table structure for [A,B] on appending data)r   rY   r   r3   r4   r5   r6   r7   r   r^   Úpopr_   r8   r}   r~   r   r€   Ú
ValueError)r?   r@   rF   r%   Úar‚   rA   rA   rB   Ú)test_append_with_different_block_orderingD  sL    
ÿ
.ýÿ,ÿrˆ   c              	      s.  t | ƒ��:‰ ‡ 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 �s<0    Y  tg d¢g d¢t
g d¢ƒtddd�dœƒ 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tj d.¡ d/¡t
td0ƒƒtd1d2d d3�d4�}d5|d6< tj|j|jd7d"… d6f< d8|d9< tj|j|jd"d:… d9f< d;|d<< tj|j|jd7d … d<f< ˆ  d-|¡ ˆ  d-¡}t ||¡ W d   ƒ n1 �sL0    Y  t | ƒ��¸‰ td5d8d=œtd2ƒd>�}tˆ d-ƒ ˆ jd-|d?d@id� |d-d?d@ƒ ˆ  d-¡jd?gk�sºJ ‚tˆ d-ƒ ˆ jd-|d gd?d@id%� |d-d?d@ƒ ˆ  d-¡jd d?gk�sJ ‚tˆ d-ƒ ˆ jd-|d gdd@id%� |d-d d@ƒ |d-dAd@ƒ ˆ  d-¡jd gk�sTJ ‚tˆ d-ƒ ˆ jd-|d d… d@d� ˆ jd-|dd … d@d� t ˆ d- |¡ tg dB¢d?gdC�}tˆ d-ƒ t dD¡}tjt	|d��& ˆ jd-|dEdEdFœd� W d   ƒ n1 �s 0    Y  W d   ƒ n1 �s 0    Y  d S )GNc                    s"   t ˆ  | ¡jj|ƒj|ksJ ‚d S ©N©ÚgetattrÚ
get_storerr   ÚdescriptionÚitemsize©Úkeyr\   r)   ©r@   rA   rB   Ú	check_col{  s    ÿz+test_append_with_strings.<locals>.check_colé{   Z	asdqwertyiY  ZdggnhebbsdfbdfbZdf_bigÚvalues_block_1rk   é|   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 columnsry   )ç        r„   g       @g      @g      @)r›   r„   r›   r„   r›   )Zfoo1Zfoo2Zfoo3Zfoo4Zfoo5Ú20130101r'   rI   )rR   r   rT   ri   rT   rK   r   r   r   Zss2T©r2   r™   Zss3r   é   )r   r™   Zlonger)rT   Zss4r%   r   rw   r   r   r   r   r   rM   Ústringr!   rU   Ústring2é   ZbahZstring3©rR   r   r/   rR   éÈ   Zvalues_block_0)rM   rM   rM   Úbarhr¤   r¤   rS   zBmin_itemsize has the key [foo] which is not an axis or data_columnr   )rM   Zfoobar) r   r   r8   r9   r:   r]   r	   r   r€   r†   r   r
   r_   r[   r;   rn   Zreset_indexZassignr   r3   r4   r5   r6   r7   r<   r=   r   rY   rŒ   r2   r}   r~   )r?   r’   r%   r   rb   rš   r‚   ra   rA   r‘   rB   Útest_append_with_stringsx  s¤    ÿ,

üÿù"

ý
,




ÿ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)r‡   ÚbÚcÚdÚeÚfÚ r%   éÿÿÿÿr!   r˜   )r   r   r8   r9   r:   r]   )r?   r@   r%   rA   rA   rB   Útest_append_with_empty_stringó  s
    
r®   c           	   	      sà  t | ƒ��Â‰ ttj d¡ d¡ttdƒƒtdddd�d�}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d0¡}||jdk|jd1k@  }t ||¡ W d   ƒ n1 �s|0    Y  t | ƒ��‰ | ¡ }d|d< tj|j|jdd… df< d|j|jd*d2… df< d1|d< t d3ƒ !d4¡|d5< tj|j|jd6d… g d7¢f< tˆ d8ƒ ˆ jd8|g d9¢d� ˆ  d8d¡}||jd
k }t ||¡ ˆ  d8g d:¢¡}||jd
k|j"d
k@ |jdk@  }tj||d.d/� W d   ƒ n1 �s¨0    Y  t | ƒ��‰ td;d+d<�}ttj d¡ d=¡|g d>¢d?�}d|d< tj|j|jdd… df< d|j|jd*d2… df< |dd@g  #¡ |dd@g< d1|d< ˆ jd8|g dA¢d� ˆ  d8d¡}||jd
k }t ||¡ ˆ  d8g dB¢¡}||jd
k|j"d
k@ |jdk@  }t ||¡ W d   ƒ n1 �sÒ0    Y  d S )CNr   rw   r   r   r   r   r   r   r„   r   r%   r1   TúB>0zB>0 and index>df.index[3]r   r/   rM   rŸ   r!   rU   r'   rž   zstring='foo'c                    s"   t ˆ  | ¡jj|ƒj|ksJ ‚d S r‰   rŠ   r�   r‘   rA   rB   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”   rR   g      ð¿é   r¡   )rR   r   rŸ   r    z.string='foo' and string2='foo' and A>0 and B<0F)Z
check_freqzstring='foo' and string2='cool'Úcoolé	   Z20010102rN   ÚdatetimerV   )rR   r   rµ   Údf_dc)r   rT   rŸ   r    rµ   )úB > 0úC > 0zstring == fooz1/1/2000rI   )r¡   rV   )rR   r   rT   )r   r   rT   )r   rT   rŸ   r    )r·   r¸   zstring == "foo")$r   r   r3   r4   r5   r6   r   r7   r
   r{   r   Zget_locr   r8   r9   r:   Ú_handleÚrootr%   r   Úcolsr   Z
is_indexedr   r]   r|   rn   r<   r=   rŸ   r    rR   r   rm   rT   Úabs)	r?   r%   ra   rb   rš   r’   Úslr¶   r   rA   r‘   rB   Ú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  | d }|j|ddd� t	|dddgd�}|jddgd�}t ||¡ d S )	NrX   rR   r   rS   ztest.hdfr%   r   )r�   r   )
r   r\   r   r8   r]   r9   r:   r|   Zto_hdfr   )Ztmp_pathr?   Z multiindex_dataframe_random_datar%   r@   ra   rb   ÚpathrA   rA   rB   Útest_append_hierarchical—  s    

*rÀ   c                 C   s°   t | ƒ�”}tdt d¡ d¡ ttdƒƒtdd„ tdƒD ƒƒd�}|jd	|d
d� | 	d	¡}t
 ||¡ |jd|dd� | 	d¡}t
 ||¡ W d   ƒ n1 s¢0    Y  d S )Nçš™™™™™ñ?éx   ©r°   r   r   c                 S   s   g | ]}d |› �‘qS ©zi-rA   rD   rA   rA   rB   rG   ±  rH   z$test_append_misc.<locals>.<listcomp>r°   r   r%   r!   ©Ú	chunksizer   r   )Zexpectedrows)r   r   r3   r>   Úreshaper   r7   rY   r8   r]   r9   r:   )r?   r@   r%   ra   rA   rA   rB   Útest_append_misc¬  s    

ý

rÈ   rÆ   )r   r£   iè  c                 C   sä   t dt d¡ d¡ ttdƒƒtdd„ tdƒD ƒƒd�}d	|d
< d|d< |d  d¡|d< |d dk|d< tdƒ 	d¡|d< tdƒ 	d¡|d< t
| dd��6}|jd||d� | d¡}t ||¡ W d   ƒ n1 sÖ0    Y  d S )NrÁ   rÂ   rÃ   r   c                 S   s   g | ]}d |› �‘qS rÄ   rA   rD   rA   rA   rB   rG   Â  rH   z.test_append_misc_chunksize.<locals>.<listcomp>r°   r   rM   rŸ   r„   Zfloat322Zfloat32r   Úboolrœ   rN   Ztime1Z20130102Ztime2Úw)ÚmodeÚobjrÅ   )r   r3   r>   rÇ   r   r7   rY   rl   r   rm   r   r8   r]   r9   r:   )r?   rÆ   r%   r@   ra   rA   rA   rB   Ú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ÚABCrS   r%   z 'No object named df in the file'ry   r   )r   rV   r   )r   r   r7   r8   r   r€   ÚKeyErrorr]   r3   r4   r5   r9   r:   r;   )r?   r@   Zdf_emptyr%   rA   rA   rB   Útest_append_misc_empty_frameÐ  s    
(rÐ   c              	   C   s–  t | ƒ��v}tdt d¡ d¡ ttdƒƒtdd„ tdƒD ƒƒd�}d	ggt|ƒ |d
< |j	d
 tj
kslJ ‚t d¡}tjt|d�� | d|¡ W d   ƒ n1 s¦0    Y  d	ggt|ƒ |d< d	ggt|ƒ |d< tjt|d�� | d|¡ W d   ƒ n1 �s
0    Y  tdt d¡ d¡ ttdƒƒtdd„ tdƒD ƒƒd�}tt ddd¡|jd�}| t¡}tj|dd…< ||d
< |j	d
 tj
k�sšJ ‚d}tjt|d�� | d|¡ W d   ƒ n1 �sÐ0    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 �sf0    Y  tdt d¡ d¡ ttdƒƒtdd„ tdƒD ƒƒd�}| d|¡ d|d< t d¡}tjt|d�� | d|¡ W d   ƒ n1 �sø0    Y  t|dƒ tdƒ|d< | d|¡ d|d< t d ¡}tjt|d�� | d|¡ W d   ƒ n1 �sh0    Y  W d   ƒ n1 �sˆ0    Y  d S )!NrÁ   rÂ   rÃ   r   c                 S   s   g | ]}d |› �‘qS rÄ   rA   rD   rA   rA   rB   rG   ò  rH   z%test_append_raise.<locals>.<listcomp>r°   r   r‡   ÚinvalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtypery   r%   Zinvalid2Zinvalid3c                 S   s   g | ]}d |› �‘qS rÄ   rA   rD   rA   rA   rB   rG     rH   iÑ  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'>]c                 S   s   g | ]}d |› �‘qS rÄ   rA   rD   rA   rA   rB   rG   #  rH   rM   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œ   rU   zmCannot serialize the column [foo] because its data contents are not [string] but [datetime64[s]] object dtype)r   r   r3   r>   rÇ   r   r7   rY   r^   ZdtypesZobject_r}   r~   r   r€   r�   r8   r   rµ   r   rl   Úobjectr<   r†   r   r   )r?   ru   r@   r%   r‚   rc   rA   rA   rB   Útest_append_raiseé  sv    
ýÿ*,
ý
,2ÿ6
ýÿ,
ÿrÓ   c                    s¢  t dƒ d¡‰ tˆ ‡ f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œ   rN   c                    s   g | ]}ˆ t |d d� ‘qS )r   )ÚdaysÚsecondsr   rD   ©rL   rA   rB   rG   F  rH   z.test_append_with_timedelta.<locals>.<listcomp>r   r¢   rR   r   rT   rV   r'   r%   Tr1   zC<100000)ÚwherezC<pd.Timedelta('-3D')zC<'-3D'zC<'-500000s')Zsubsetrž   z	C<'-3.5D'r!   r   r   )r   rm   r   rY   r3   r<   r=   r   r   r8   r]   r9   r:   r{   rp   r;   )r?   r%   r@   ra   rA   rÖ   rB   Útest_append_with_timedelta>  s:    þÿ



rØ   c              	   C   s°  t tj d¡ d¡ttdƒƒtdddd�d�}| ¡ 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 )Nr   rw   r   r   r   r   r   r   ú{}_2rS   rU   rM   r!   ©Zaxisz=append_to_multiple requires a selector that is in passed dictry   rR   ©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   r3   r4   r5   r6   r   r7   r
   rn   Úrenamer   r	   r   r   r€   r†   Úappend_to_multipleÚselect_as_multiplerR   r   r9   r:   )r?   r   r   r%   r@   r‚   ra   rb   rA   rA   rB   Útest_append_to_multiplem  s4    
ýÿ$4ÿ.ÿrà   c                 C   s  t tj d¡ d¡ttdƒƒtdddd�d�}t tj d¡ d¡ttdƒƒtdddd�d�jd	j	d
�}tj
|jd|j ddg¡f< t||gdd�}t| ƒ�n}|jddgd dœ|ddd� | ddg¡}| ¡ }tj||dd� t | d¡j| d¡j¡ W d   ƒ n1 �s0    Y  d S )Nr   rw   r   r   r   r   r   r   rÙ   rS   r!   rR   rÚ   rÛ   r   T©rÜ   rp   r   r0   )r   r3   r4   r5   r6   r   r7   r
   rÝ   r   r<   r{   r   Úget_indexerr	   r   rÞ   rß   rp   r9   r:   Zassert_index_equalr]   r   )r?   r   r   r%   r@   ra   rb   rA   rA   rB   Útest_append_to_multiple_dropna’  s,    
ý
ýü
ÿrã   c              
   C   sB  t tj d¡ d¡ttdƒƒtdddd�d�}| ¡ j	d	j
d
�}tj|jd|j ddg¡f< t||gdd�}t| ƒ�¸}t dd¡�Š |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  W d   ƒ n1 �s40    Y  d S )Nr   rw   r   r   r   r   r   r   rÙ   rS   r!   rR   rÚ   rr   T)Údf1aÚdf2arä   Frá   z,all tables must have exactly the same nrows!ry   rå   )r   r3   r4   r5   r6   r   r7   r
   rn   rÝ   r   r<   r{   r   râ   r	   r   rs   rt   rÞ   r   r€   r†   rß   r]   r   Úequals)r?   r   r   r%   r@   r‚   rA   rA   rB   Ú$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| ƒ�b}|jd
gddgddgdœ|jd	g dddddœd� | g d¢¡}tj	||dd� W d   ƒ n1 sÈ0    Y  d S )Nr!   é   éX   c                 S   s   g | ]}d ‘qS )r‡   rA   ©rE   Ú_rA   rA   rB   rG   Ë  rH   z8test_append_to_multiple_min_itemsize.<locals>.<listcomp>r   c                 S   s   g | ]}d ‘qS )ZabcderA   rê   rA   rA   rB   rG   Ì  rH   )ÚIXÚNumÚBigNumÚStrÚLongStrr   rì   rí   rî   rï   rð   )r   ÚnumsÚstrsr   r   rJ   r   )rï   rð   rí   r˜   Tr0   )
r   r3   r>   rY   r{   r   rÞ   rß   r9   r:   )r?   r%   rb   r@   ra   rA   rA   rB   Ú$test_append_to_multiple_min_itemsizeÄ  s*    

ûÿ	
ý

ø
ró   c              	   C   sV  t dddœt d¡d�}| ¡ }tj|jdd…d d …f< d}t| ƒ�ü}| d	|d
 ¡ tj	t
|d��  | d	|d
 ¡ W d   ƒ n1 sŠ0    Y  |jd|d dd� tj	t
|d��  | d|d ¡ W d   ƒ n1 sÜ0    Y  |jd|d
 dd� | d|d
 ¡ |d }t|d
 |d
 gƒ}t ||¡ W d   ƒ n1 �sH0    Y  d S )Nr‡   rM   r¢   r   r/   r   r   z8NaN representation is too large for existing column sizeÚsarR   ry   Úsbr   Zbars)Znan_repÚscÚn)r   r3   r>   rn   r<   r=   r   r8   r   r€   r†   r	   r9   r[   )r?   r%   Zdf_nanr‚   r@   ra   rb   rA   rA   rB   Útest_append_string_nan_repà  s     
..rø   )5rµ   r   r}   Únumpyr3   r   Zpandas._libs.tslibsr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrs   r   r   r   r   r9   r	   r
   r   Zpandas.tests.io.pytables.commonr   r   ÚmarkZ
single_cpuZ
pytestmarkZimportorskipr   ÚfilterwarningsrC   rd   ro   rv   rƒ   rˆ   r¥   r®   r¾   rÀ   rÈ   ZparametrizerÍ   rÐ   Z&skip_array_manager_not_yet_implementedrÓ   rØ   rà   rã   rç   ró   rø   rA   rA   rA   rB   Ú<module>   sF   $	



H/0\!4{	 

T/%