o
    _~#g"                     @   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    /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/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    