
    Eg$              
          d dl Zd dlZd dlZd dlmZmZ d dlmZ	 ej
                            dd eg d          fd eg d          fd eg d	          fg          d
             Zej
                            dd eg d          fd eg d          fd eg d          fg          d             Zej
                            dg  e ed                    g          d             Z G d d          ZdS )    N)CategoricalSerieszkeep, expectedfirstFFFFTTFlastFTTFFFFFFTTFTTFc                    t          g dt          j        |                     }|j        dk    rt          j        d           t          j        |                    |          |           t          j        |                    |          ||                     |	                                }|                    |d          }|J t          j        |||                     d S )N)   r         r   r      dtypeboolz.tested separately in test_drop_duplicates_boolkeepTr   inplace)
r   npr   pytestskiptmassert_series_equal
duplicateddrop_duplicatescopy)any_numpy_dtyper   expectedtcscreturn_values         e/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/series/methods/test_drop_duplicates.pytest_drop_duplicatesr$      s     
%%%RXo-F-F	G	G	GB	x6DEEE2==d=33X>>>2--4-88"hY-HHH	B%%4%>>L2r8)}-----    FFTTTTFFTTTTc                 p   t          g d          }t          j        |                    |           |           t          j        |                    |           ||                     |                                }|                    | d          }t          j        |||                     |J d S )NTFTFr   Tr   )r   r   r   r   r   r   )r   r   r    r!   r"   s        r#   test_drop_duplicates_boolr+   "   s     
***	+	+B2==d=33X>>>2--4-88"hY-HHH	B%%4%>>L2r8)}---r%   valuesr   c                    t          |t          j        |                     }t          dgt          |          z  d          }|j        dk    r|d d         }|d d         }t	          j        |                    |          |           |                    |          }t	          j        ||           ||usJ d S )Nr   Fr      r   )r   r   r   lenr   r   r   r   )r   r   r,   r    r   result_droppeds         r#   "test_drop_duplicates_no_duplicatesr1   5   s    	bh77	8	8	8BugB'v666H	x6 VBQB<2==d=33X>>>''T'22N>2... ######r%   c                       e Zd Z ej        g d          d             Zej        d             Zd Zd Zd Z	ej        d             Z
d	 Zd
 Zd Zd Zd Zd Zd Zd ZdS )TestSeriesDropDuplicates)int_uintfloat64str_ztimedelta64[h]zdatetime64[D])paramsc                     |j         S )N)param)selfrequests     r#   r   zTestSeriesDropDuplicates.dtypeJ   s     }r%   c                     t          j        g dt          j        |                    }t          j        g dt          j        |                    }t          |||          }t	          |          }|S )Nr   r.   r   r   r   r   )r   r.   r   r   
categoriesorderedr   arrayr   r   r   )r;   r   rA   	cat_arrayinput1cattc1s          r#   cat_series_unused_categoryz3TestSeriesDropDuplicates.cat_series_unused_categoryP   sh     H___BHUOODDD	,,,bhuoo>>>&YHHHSkk
r%   c                 r   |}t          g d          }|                                }t          j        ||           |                                }t          j        |||                     |                                }|                    d          }|J t          j        |||                     d S )N)FFFTTr   r   r   r   r   r   r   r;   rH   rG   r   resultr!   r"   s          r#   )test_drop_duplicates_categorical_non_boolzBTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_boolZ   s    (55566!!
vx000$$&&
vsH9~666XXZZ))$)77###
r3y>22222r%   c                 |   |}t          g d          }|                    d          }t          j        ||           |                    d          }t          j        |||                     |                                }|                    dd          }|J t          j        |||                     d S )N)FFTFr   r   Tr   rK   rL   s          r#   2test_drop_duplicates_categorical_non_bool_keeplastzKTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool_keeplastj   s     )55566V,,
vx000$$&$11
vsH9~666XXZZ))vt)DD###
r3y>22222r%   c                 |   |}t          g d          }|                    d          }t          j        ||           |                    d          }t          j        |||                     |                                }|                    dd          }|J t          j        |||                     d S )Nr&   Fr   Tr   rK   rL   s          r#   3test_drop_duplicates_categorical_non_bool_keepfalsezLTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool_keepfalse|   s     )44455U++
vx000$$%$00
vsH9~666XXZZ))ud)CC###
r3y>22222r%   c                     t          j        g dt          j        |                    }t          j        g dt          j        |                    }t          |||          }t	          |          }|S )Nr>   r   )r   r.   r   r   r   r.   r   r?   rB   )r;   r   rA   rD   input2rF   tc2s          r#   
cat_seriesz#TestSeriesDropDuplicates.cat_series   sk     H___BHUOODDD	///rxGGG&YHHHSkk
r%   c                 r   |}t          g d          }|                                }t          j        ||           |                                }t          j        |||                     |                                }|                    d          }|J t          j        |||                     d S )Nr   TrJ   rK   r;   rV   rU   r   rM   r!   r"   s          r#   *test_drop_duplicates_categorical_non_bool2zCTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool2   s    IIIJJ!!
vx000$$&&
vsH9~666XXZZ))$)77###
r3y>22222r%   c                 |   |}t          g d          }|                    d          }t          j        ||           |                    d          }t          j        |||                     |                                }|                    dd          }|J t          j        |||                     d S )Nr   r   r   Tr   rK   rX   s          r#   3test_drop_duplicates_categorical_non_bool2_keeplastzLTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool2_keeplast   s    IIIJJV,,
vx000$$&$11
vsH9~666XXZZ))vt)DD###
r3y>22222r%   c                 |   |}t          g d          }|                    d          }t          j        ||           |                    d          }t          j        |||                     |                                }|                    dd          }|J t          j        |||                     d S )Nr	   Fr   Tr   rK   rX   s          r#   4test_drop_duplicates_categorical_non_bool2_keepfalsezMTestSeriesDropDuplicates.test_drop_duplicates_categorical_non_bool2_keepfalse   s    GGGHHU++
vx000$$%$00
vsH9~666XXZZ))ud)CC###
r3y>22222r%   c                    t          t          g dddg|                    }t          g d          }t          j        |                                |           t          j        |                                ||                     |                                }|                    d          }|J t          j        |||                     t          g d          }t          j        |                    d	          |           t          j        |                    d	          ||                     |                                }|                    dd
          }|J t          j        |||                     t          g d          }t          j        |                    d	          |           t          j        |                    d	          ||                     |                                }|                    dd
          }|J t          j        |||                     d S )Nr*   TFr?   r&   rJ   r'   r   r   r   r(   )r   r   r   r   r   r   r   )r;   rA   r    r   r!   r"   s         r#   %test_drop_duplicates_categorical_boolz>TestSeriesDropDuplicates.test_drop_duplicates_categorical_bool   s*   ***e}g  
 
 44455
r}}999
r1133R	]CCCWWYY))$)77###
r2xi=11144455
r}}&}998DDD
r11v1>>H9NNNWWYY))vt)DD###
r2xi=11122233
r}}%}88(CCC
r11u1==r8)}MMMWWYY))ud)CC###
r2xi=11111r%   c           	         t          t          dddd|gddgd                    }|                                }t          t          ddt          j        gddgd          g d          }t          j        ||           d S )NTFr?   )r   r   r   )index)r   r   r   r   nanr   r   )r;   nulls_fixtureserrM   r   s        r#   (test_drop_duplicates_categorical_bool_nazATestSeriesDropDuplicates.test_drop_duplicates_categorical_bool_na   s    udE=9 %=  
 
 $$&&ubf-4-QUVVV))
 
 
 	vx00000r%   c                     t          g d          }|                    d          }t          g d          }t          j        ||           d S )N)r   r.   r.   r   T)ignore_index)r   r.   r   )r   r   r   r   r;   rd   rM   r   s       r#   !test_drop_duplicates_ignore_indexz:TestSeriesDropDuplicates.test_drop_duplicates_ignore_index   sS    \\\""$$$$77)))$$
vx00000r%   c                     t          j        d           t          g dd          }|                                }t          g dd          }t	          j        ||           d S )Npyarrow)TFNFzbool[pyarrow]r   )TFN)r   importorskipr   r   r   r   rh   s       r#   test_duplicated_arrow_dtypez4TestSeriesDropDuplicates.test_duplicated_arrow_dtype   so    I&&&///GGG$$&&---_EEE
vx00000r%   c                 Z   t          j        d          }t          ddgt          j        |                                                    }|                                }t          dgt          j        |                                                    }t          j        ||           d S )Nrk   ar   )	r   rl   r   pd
ArrowDtypestringr   r   r   )r;   pard   rM   expecetds        r#   "test_drop_duplicates_arrow_stringsz;TestSeriesDropDuplicates.test_drop_duplicates_arrow_strings  s     ++c3Zr}RYY[['A'ABBB$$&&3%r}RYY[['A'ABBB
vx00000r%   N)__name__
__module____qualname__r   fixturer   rH   rN   rP   rR   rV   rY   r[   r]   r_   re   ri   rm   ru    r%   r#   r3   r3   I   s+       V^UUU     ^  ^3 3 3 3 3 3$3 3 3$ ^  ^3 3 3 3 3 3 3 3 3 2 2 2>1 1 1 1 1 11 1 11 1 1 1 1r%   r3   )numpyr   r   pandasrp   r   r   pandas._testing_testingr   markparametrizer$   r+   listranger1   r3   rz   r%   r#   <module>r      s                         	&&HHHIIJ	GGGHHI	DDDEEF . . . 	&&333445	222334	///001       BUU1XX#788$ $ 98$&B1 B1 B1 B1 B1 B1 B1 B1 B1 B1r%   