o
    Û­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   Údtypesr   r   ÚtmÚassert_series_equal©ÚselfÚdf1Údf2ÚresultsÚexpected© r    úg/var/www/html/CropPilot/venv/lib/python3.10/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   Ú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ÚbÚbaz©Únamer)   )r   r   r   r   )r1   r2   r1   r2   r   ©Únamesr   ©r*   r9   )r   r   r   ÚpdÚ
MultiIndexÚfrom_productr   r/   )	r   Údfr   Úconcatted_named_from_keysÚexpected_namedÚindex_no_nameÚconcatted_named_from_namesÚconcatted_unnamedÚ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   ƒ d S 1 �sw   Y  d S )Nr,   r1   r2   r   r   ç333333Ó?çš™™™™™Ù?)r1   r2   rF   rG   )r   r   r   r   r   r   Úrowsr   r   )r   r   r   zNo axis named)ÚmatchÚ	something)
r   Úranger   r   r/   r   r   ÚpytestÚraisesÚ
ValueError)r   r   r   Úexpected_indexÚconcatted_indexÚconcatted_rowÚconcatted_0Úexpected_columnsÚconcatted_columnsÚconcatted_1Úseries1Úseries2Úexpected_index_seriesÚconcatted_index_seriesÚconcatted_row_seriesÚconcatted_0_seriesÚexpected_columns_seriesÚconcatted_columns_seriesÚconcatted_1_seriesr    r    r!   Útest_concat_axis_parameterI   sF   ÿÿ$ÿ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é	   Úint32)ÚA0ÚA1ÚA2)ÚB0ÚB1ÚB2r   r   r8   )r   r   éþÿÿÿ)r   r   é   é   ))rc   rf   )rc   rg   )re   rg   )re   rh   )
r   rK   r;   r<   r=   r   Ú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 )Nr3   r4   r   r   Úcategoryr   r$   )r   r   Úastyper   ÚarrayÚreshaper   r/   rn   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s;J ‚d S )NÚvalue©r   r   r%   )r3   r4   ÚcÚidr6   r   rj   rk   r3   r4   r   Út1Út2)r   r*   Úsort)rz   rv   )r{   rv   )r   r   r   r   r.   r   )r   r|   rz   r{   ro   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   Úint64)r   r   r   rr   r   r/   ©r   r   r   ro   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%   rw   )r   r   r,   ÚIDÚdater:   r8   r   r%   r6   )r   r   r;   r<   r=   r   r/   Úassert_index_equalr   Úlevelsr   )r   r   r   r>   ro   Ú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   sd   t tjdtj|d�ƒ}t|gd ||dd�}|s.| ¡ D ]}| ¡ D ]
}t ||¡r,J ‚q"qd S d S )N)r   é   )r   r‰   rŒ   T)r   rˆ   Úcopy)r   r   Úzerosr   r   Ú_iter_column_arraysÚshares_memory)	r   r   r‰   rˆ   Úusing_copy_on_writer>   ÚresÚarrÚ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©rˆ   Újoinr|   r+   )r   r,   r-   )r   r   r   Únanr   r/   r€   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   r–   r—   r   ©r,   r   TÚinnerr™   ©r   r,   ©r   r   r   r/   r€   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 )Nr—   r   r�   Trž   r™   rŸ   r    )r   r   ro   r   r    r    r!   Útest_sort_columns_one_dfá   s   z,TestDataFrameConcat.test_sort_columns_one_dfN)Ú__name__Ú
__module__Ú__qualname__r"   r0   rE   r_   rp   ru   r}   r�   r‡   rL   ÚmarkÚparametrizer•   rœ   r¡   r¢   r    r    r    r!   r      s"    :

r   )Únumpyr   rL   Úpandasr;   r   r   r   r   Úpandas._testingÚ_testingr   r   r    r    r    r!   Ú<module>   s    