a
    oÝEbŽ  ã                   @   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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   új/home/ja/django-apps/lartica_env/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©Úkeysg      ð?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.   r/   r.   r/   r   ©Únamesr   ©r(   r5   )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_keys4   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.   r/   r   r   ç333333Ó?çš™™™™™Ù?)r.   r/   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_parameterJ   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   r4   )r   r   éþÿÿÿ)r   r   é   é   ))rF   rI   )rF   rJ   )rH   rJ   )rH   rK   )
r   r@   r7   r8   r9   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 )Nr0   r1   r   r   Úcategoryr   r"   )r   r   Úastyper   ÚarrayZreshaper   r,   rP   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#   )r0   r1   ÚcÚidr2   r   rM   rN   r0   r1   r   Út1Út2)r   r(   Úsort)r[   rW   )r\   rW   )r   r   r   r   r+   r   )r   r]   r[   r\   rQ   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   rT   r   r,   )r   r   r   rQ   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#   rX   )r   r   r)   ZIDÚdater6   r4   r   r#   r2   )r   r   r7   r8   r9   r   r,   Zassert_index_equalr   Zlevelsr   )r   r   r   r:   rQ   Ú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�}| ¡ D ]"}| ¡ D ]}t ||¡r@J ‚q@q4d S )N)i'  éÈ   )r   re   é   T)r   rd   Úcopy)r   r   Zzerosr   r   Z_iter_column_arraysZshares_memory)r   r   re   rd   r:   ÚresZarrZarr2r   r   r    Útest_concat_copiesÄ   s
    z&TestDataFrameConcat.test_concat_copiesN)Ú__name__Ú
__module__Ú__qualname__r!   r-   r;   rC   rR   rV   r^   r`   rc   rA   ÚmarkZparametrizerl   r   r   r   r    r      s   :

r   )Únumpyr   rA   Zpandasr7   r   r   r   r   Zpandas._testingZ_testingr   r   r   r   r   r    Ú<module>   s
   