a
    é´«j "  ã                   @   sN   d dl Zd dlZd dlZd dlmZmZmZmZ d dl	m
Z G dd„ dƒZdS )é    N)Ú	DataFrameÚIndexÚSeriesÚconcatc                   @   sª   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	dd„ Z
dd„ Zej dddg¡ej dddg¡ej dddg¡dd„ ƒƒƒZdd„ Zd d!„ Zd"d#„ Zd$S )%ÚTestDataFrameConcatc                 C   s|   t t d¡ddgtjd�}t t d¡tjd�}t||fdd�j}tt d¡gd	 t d
¡gd	  g d¢d�}t	 
||¡ d S )N)é
   é   ÚfooÚbar)ÚdataÚcolumnsÚdtype)r   r   é   ©ÚaxisÚfloat64r   Úfloat32)r	   r
   r   r   ©Úindex)r   ÚnpÚonesr   r   r   Zdtypesr   r   ÚtmÚassert_series_equal©ÚselfÚdf1Údf2ÚresultsÚexpected© r   úi/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/reshape/concat/test_dataframe.pyÚ"test_concat_multiple_frames_dtypes   s    þz6TestDataFrameConcat.test_concat_multiple_frames_dtypesc                 C   sz   t t d¡tdƒd�}t t d¡d tdƒd�}t||fddgd�}t d	d	d
d
d
dœd	d	d
d
d
dœdœƒ}t ||¡ d S )N)r   r   ZAB©r   )é   r   r   )ÚbeeÚbah)r$   Úboo©Úkeysç      ð?g       @))r$   r%   r   )r$   r%   r   )r$   r&   r   )r$   r&   r   )r$   r&   r   )ÚAÚB)r   r   r   Úlistr   r   Úassert_frame_equalr   r   r   r    Útest_concat_tuple_keys   s&    ûûøÿz*TestDataFrameConcat.test_concat_tuple_keysc           	      C   sþ   t ddgddgdœƒ}tddgdd	�}t||g|d
�}t g d¢g d¢dœtjjddgddgfdd gd�d�}t ||¡ tddgd d	�}t||g|dgd�}t ||¡ t||g|d
�}t g d¢g d¢dœtjjddgddgfd d gd�d�}t ||¡ d S )Nr   r   çš™™™™™¹?çš™™™™™É?)r	   r
   ÚaÚbZbaz©Únamer'   )r   r   r   r   )r/   r0   r/   r0   r   ©Únamesr   ©r(   r6   )r   r   r   ÚpdÚ
MultiIndexÚfrom_productr   r-   )	r   Údfr   Zconcatted_named_from_keysZexpected_namedZindex_no_nameZconcatted_named_from_namesZconcatted_unnamedZexpected_unnamedr   r   r    Útest_concat_named_keys3   s"    þþz*TestDataFrameConcat.test_concat_named_keysc                 C   s  t dddgitdƒd�}t dddgitdƒd�}t dg d¢ig d	¢d�}t||gd
d�}t ||¡ t||gdd�}t ||¡ t||gdd�}t ||¡ t ddgddggddgddgd�}t||gdd�}t ||¡ t||gdd�}	t |	|¡ tddgƒ}
tddgƒ}tg d¢g d	¢d�}t|
|gd
d�}t ||¡ t|
|gdd�}t ||¡ t|
|gdd�}t ||¡ t ddgddggddgddgd�}t|
|gdd�}t ||¡ t|
|gdd�}t ||¡ tjt	dd��  t|
|gdd� W d   ƒ n1 �s0    Y  d S )Nr*   r/   r0   r   r   ç333333Ó?çš™™™™™Ù?)r/   r0   r=   r>   )r   r   r   r   r   r   Úrowsr   r   )r   r   r   zNo axis named)ÚmatchZ	something)
r   Úranger   r   r-   r   r   ÚpytestZraisesÚ
ValueError)r   r   r   Zexpected_indexZconcatted_indexZconcatted_rowZconcatted_0Zexpected_columnsZconcatted_columnsZconcatted_1Zseries1Zseries2Zexpected_index_seriesZconcatted_index_seriesZconcatted_row_seriesZconcatted_0_seriesZexpected_columns_seriesZconcatted_columns_seriesZconcatted_1_seriesr   r   r    Útest_concat_axis_parameterI   sD    ÿÿz.TestDataFrameConcat.test_concat_axis_parameterc                 C   sœ   t dtdƒidtjjg d¢g d¢gddgd�d	�}t|jd d…d d …f |jd
d …d d …f fƒ}t dg d¢idtjjg d¢ddgd�d	�}t 	||¡ d S )NÚcolé	   Zint32)ÚA0ÚA1ÚA2)ÚB0ÚB1ÚB2r   r   r5   )r   r   éþÿÿÿ)r   r   é   é   ))rG   rJ   )rG   rK   )rI   rK   )rI   rL   )
r   rA   r8   r9   r:   r   ZilocÚfrom_tuplesr   r-   ©r   r;   Úresultr   r   r   r    Útest_concat_numerical_namesƒ   s     
ÿü	0
ÿýz/TestDataFrameConcat.test_concat_numerical_namesc                 C   s`   t ddigƒ}t||gdd�}| d¡}t t ddg¡ dd¡ddgd� d¡}t ||¡ d S )Nr1   r2   r   r   Úcategoryr   r"   )r   r   Úastyper   ÚarrayZreshaper   r-   rQ   r   r   r    Útest_concat_astype_dup_col˜   s    
ÿþz.TestDataFrameConcat.test_concat_astype_dup_colc                 C   sz   t dtg d¢tg d¢dd�d�iƒ}t dtddgtd	d
gdd�d�iƒ}t||gdddg|d�}t|jƒddgksvJ ‚d S )NÚvalue©r   r   r#   )r1   r2   ÚcÚidr3   r   rN   rO   r1   r2   r   Út1Út2)r   r(   Úsort)r\   rX   )r]   rX   )r   r   r   r   r,   r   )r   r^   r\   r]   rR   r   r   r    Útest_concat_dataframe_keys_bug£   s    ÿ$z2TestDataFrameConcat.test_concat_dataframe_keys_bugc                 C   sV   t tg d¢dd�ƒ}t tg d¢dd�ƒ}t||gƒ}t| d¡|gƒ}t ||¡ d S )N)TFTTÚbool)r   )r   r   r   Zint64)r   r   r   rU   r   r-   ©r   r   r   rR   r   r   r   r    Útest_concat_bool_with_int­   s
    z-TestDataFrameConcat.test_concat_bool_with_intc                 C   sˆ   g d¢}g d¢}t ||d�}t|gdgddgd�}tjjdg|gddgd�}t ||d�}t ||¡ t |jj	d	 t
d	d
gdd�¡ d S )N)r   r   r#   rY   )r   r   r*   ZIDÚdater7   r5   r   r#   r3   )r   r   r8   r9   r:   r   r-   Zassert_index_equalr   Zlevelsr   )r   r   r   r;   rR   Úmir   r   r   r    Ú)test_concat_duplicates_in_index_with_keys·   s    z=TestDataFrameConcat.test_concat_duplicates_in_index_with_keysÚignore_indexTFÚorderÚCÚFr   r   r   c           	      C   s`   t tjdtj|d�ƒ}t|gd ||dd�}|s\| ¡ D ]"}| ¡ D ]}t ||¡rDJ ‚qDq8d S )N)r   é   )r   rg   rj   T)r   rf   Úcopy)r   r   Zzerosr   r   Z_iter_column_arraysZshares_memory)	r   r   rg   rf   Zusing_copy_on_writer;   ÚresZarrZarr2r   r   r    Útest_concat_copiesÃ   s    z&TestDataFrameConcat.test_concat_copiesc                 C   sf   t dgdgddœƒ}t ddgiƒ}t||gdddd�}t d	tjgddgd	tjgd
œƒ}t ||¡ d S )Nr   r   ©r*   r+   r   r*   éd   TÚouter©rf   Újoinr^   r)   )r   r*   r+   )r   r   r   Únanr   r-   ra   r   r   r    Útest_outer_sort_columnsÑ   s
     z+TestDataFrameConcat.test_outer_sort_columnsc                 C   s^   t dgdgddœƒ}t dgddœƒ}t||gdddd	�}t ddgddgd
œƒ}t ||¡ d S )Nr   r   rn   ro   r   ©r*   r   TÚinnerrq   ©r   r*   ©r   r   r   r-   ra   r   r   r    Útest_inner_sort_columnsÙ   s
    z+TestDataFrameConcat.test_inner_sort_columnsc                 C   sD   t dgddœƒ}t|gdddd�}t dgdgdœƒ}t ||¡ d S )Nro   r   ru   Trv   rq   rw   rx   )r   r   rR   r   r   r   r    Útest_sort_columns_one_dfá   s    z,TestDataFrameConcat.test_sort_columns_one_dfN)Ú__name__Ú
__module__Ú__qualname__r!   r.   r<   rD   rS   rW   r_   rb   re   rB   ÚmarkZparametrizerm   rt   ry   rz   r   r   r   r    r      s    :

r   )Únumpyr   rB   Zpandasr8   r   r   r   r   Zpandas._testingZ_testingr   r   r   r   r   r    Ú<module>   s
   