
    bMh0                         d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ d dlZd dlmZmZmZmZ d dlmZ  G d d          ZdS )	    )deepcopyN)using_string_dtype)option_context)HAS_PYARROW)	DataFrameSeries
date_rangetimedelta_rangec            
          e Zd Zd Zd Zd Zd Zd Zd Ze	j
                             e            oed          d	             Zd
 Zd Zd Zd Zd Zd Zd Zd Ze	j
                            d e             edg           edg           edg i          g          d             Zd Zd Zd Zd Zd Zd Ze	j
                            dg d          d             Z d  Z!d! Z"d"S )#TestDataFrameMiscc                     |d         }|j         dk    sJ |                    d          }|j         dk    sJ |j        d d df         }|j         dk    sJ |j        d d          }|j         dk    sJ d S )NAB)namepoploc)selffloat_framess2s       [/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/test_api.pytest_getitem_pop_assign_namez.TestDataFrameMisc.test_getitem_pop_assign_name   s    v}}}}OOC  v}}}}OAAAsF#v}}}}U111Xw#~~~~~~    c                    |}|                     d          dk    sJ |                     d          dk    sJ |                     d          dk    sJ |                     d          dk    sJ |                     d          dk    sJ |                    d          dk    sJ |                    d          dk    sJ |                    d          dk    sJ |                    d          dk    sJ |                    d          dk    sJ |                    d          |j        u sJ |                    d          |j        u sJ t          j        t          d          5  |                     d           d d d            n# 1 swxY w Y   t          j        t          d	          5  |                    d
           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d            d d d            n# 1 swxY w Y   t          j        t          d          5  |                     d            d d d            d S # 1 swxY w Y   d S )Nr      indexrowscolumnszNo axis namedmatch   zNo axis.*foofoozNo axis.*None)_get_axis_number_get_axis_name	_get_axisr   r   pytestraises
ValueError)r   r   fs      r   test_get_axiszTestDataFrameMisc.test_get_axis%   s   !!!$$))))!!!$$))))!!'**a////!!&))Q....!!),,1111""g----""i////((G3333''72222	**i7777{{1~~(((({{1~~****]:_=== 	" 	"q!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ]:^<<< 	$ 	$U###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]:_=== 	# 	#T"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:_=== 	% 	%t$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%sH   (F

FF0GGG8HH!H I##I'*I'c                     t          j        t          d          5  |j        |v  d d d            d S # 1 swxY w Y   d S )Nzunhashable type: 'Index'r   )r&   r'   	TypeErrorr   )r   r   s     r   test_column_contains_raisesz-TestDataFrameMisc.test_column_contains_raisesB   s    ]9,FGGG 	/ 	/;..	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   
377c                    t          t          d          t          d          gt          d                    }t          d          D ]}|t          |          v sJ t          |                    d          t
                    sJ t          t          d          t          d          gt          j                            t          t          dd                                        }t          d          D ]}|t          |          v sJ t          d          D ]}|t          |          vsJ t          |                    d          t                     sJ d S )NabcdefghABCDr   r   EFGH)
r   listdir
isinstance__getitem__r   pd
MultiIndexfrom_tupleszip)r   dfkeys      r   test_tab_completionz%TestDataFrameMisc.test_tab_completionF   sI   Vd6ll3T&\\JJJ<< 	" 	"C#b''>>>>>"..--v66666 &\\4<<(M--d3vv3F3F.G.GHH
 
 
 << 	" 	"C#b''>>>>><< 	& 	&Cc"gg%%%%%"..--y9999999r   c                 >   d t          d          D             }t          d          t          d          g}t          ||          }dt          |          v sJ dt          |          vsJ t          dd          5  t          ||          }dt          |          v sJ d	t          |          vsJ 	 d d d            n# 1 swxY w Y   t          dd           5  t          ||          }d
t          |          v sJ 	 d d d            d S # 1 swxY w Y   d S )Nc                 2    g | ]}d t          |          z   S )a)str).0is     r   
<listcomp>z@TestDataFrameMisc.test_display_max_dir_items.<locals>.<listcomp>[   s"    444A3Q<444r   i  r2   a99a100zdisplay.max_dir_itemsi,  a299a300a419)ranger   r5   r   )r   r   valuesr<   s       r   test_display_max_dir_itemsz,TestDataFrameMisc.test_display_max_dir_itemsY   s   44s444**eCjj)vw/// BSWW$$$$3S99 	) 	)67333BSWW$$$$R(((((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)
 3T:: 	% 	%67333BSWW$$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s$   ?8CCC%DDDc                 P   t                      }t          dg          }d}t          j        t          |          5  t	          |           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          |           d d d            d S # 1 swxY w Y   d S )Nr   zunhashable type: 'DataFrame'r   )r   r&   r'   r,   hash)r   empty_framer<   msgs       r   test_not_hashablez#TestDataFrameMisc.test_not_hashablel   s   kks^^,]9C000 	 	HHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAA>BB"Bzsurrogates not allowed)reasonc                 x    d}t          |g i          }|t          |          vsJ |j        d         |k    sJ d S )Nu   r   )r   r5   r   )r   colnamer<   s      r   +test_column_name_contains_unicode_surrogatez=TestDataFrameMisc.test_column_name_contains_unicode_surrogatev   sN    
 }%%c"gg%%%%z!}''''''r   c                 6   t          t          j                            d                              d                    }t          t          j                            d                              d                    }d|j        _        |j        j        J d S )Nr!   )r      r"   )r   nprandomdefault_rngstandard_normalr   r   )r   df1df2s      r   test_new_empty_indexz&TestDataFrameMisc.test_new_empty_index   sw    	--a00@@HHII	--a00@@HHII	y~%%%%%r   c                    |                     d          }||j        u sJ |                     d          }||j        u sJ d}t          j        t
          |          5  |                     d           d d d            d S # 1 swxY w Y   d S )Nr   r   zAxis must be 0 or 1 \(got 2\)r   r!   )_get_agg_axisr   r   r&   r'   r(   )r   r   colsidxrQ   s        r   test_get_agg_axisz#TestDataFrameMisc.test_get_agg_axis   s    ((++{*****''**k'''''.]:S111 	) 	)%%a(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   BBBc                     t                      }|j        sJ |j        rJ |j        rJ t          g dg ddt          j        d                    }|d= |j        rJ d S )N)g      ?g       @g      @rA   bcr   r   rX   r   r   )r   emptyrY   arange)r   r   float_string_framerP   r<   s        r   
test_emptyzTestDataFrameMisc.test_empty   s    kk    $$$$%++++ ___???CC29UV<<XXXsG8r   c                     t          |          t          |j                  k    sJ |ddg         j        }|                    ddg          j        }t	          j        ||           d S )Nr   r   r2   )lenr   rL   reindextmassert_almost_equal)r   r   arrexpecteds       r   test_lenzTestDataFrameMisc.test_len   so    ;3{'8#9#99999 3*%,&&Sz&::A
sH-----r   c                    |}|                     d          }|                     d          }t          j        ||           |                     d          }|                     d          }t          j        ||           d S )Nr   )axisr   r   r   )sumrr   assert_series_equal)r   r   r)   ru   results        r   test_axis_aliasesz#TestDataFrameMisc.test_axis_aliases   s}     55a5==G$$
vx00055a5==I&&
vx00000r   c                     t          j        t          j                  sJ t          j        t          j                  sJ d S N)pydocgetdocr   r   r   )r   s    r   test_class_axisz!TestDataFrameMisc.test_class_axis   s;     |IO,,,,,|I-.......r   c                 b    |j         }|                                D ]\  }}|j        |k    sJ d S r~   )_seriesitemsr   )r   rm   serieskvs        r   test_series_put_namesz'TestDataFrameMisc.test_series_put_names   s@    #+LLNN 	 	DAq6Q;;;;;	 	r   c                     t          g d          }|j        rJ t          dgdg          }|j        rJ t          ddgddg                                          }|j        sJ |j        j        sJ d S )N)r   r!   rX   r   )r   r   rA   rg   rh   d)r   rk   dropnaTr   r<   s     r   test_empty_nonzeroz$TestDataFrameMisc.test_empty_nonzero   s    yyy!!8aS1#...8c3Z#s<<<CCEExtzr   r<   r   rj   r2   c                 4    |j         sJ |j        j         sJ d S r~   )rk   r   r   s     r   test_empty_likez!TestDataFrameMisc.test_empty_like   s%     xtzr   c                    t          t          dd          t          dd          d          }|j        }|j                                        }t          t          j        d          did          }t          j
        ||           d S )	N20130101
   )periodsz1 dayri   objectcount)r   )r   r	   r
   r   dtypesvalue_countsr   rY   dtyperr   rz   )r   r<   tr{   ru   s        r   test_with_datetimelikesz)TestDataFrameMisc.test_with_datetimelikes   s    
B777$Wb999 
 
 D&&((28H--r2AAA
vx00000r   c                 f    t          |          }d|j        d<   |                    |          rJ d S )Nr   )r   r   )r   r   equals)r   r   cps      r   test_deepcopyzTestDataFrameMisc.test_deepcopy   s:    k""v%%b)))))))r   c                    t          g dg dg dd          }d }d } ||                                |           d } ||                    d          |           d	 } ||                                |           d
 } ||                                |           d } ||                                |           d } ||                                |           d } ||                                |           d } ||                                |           |                                d         }d } ||                    d          d         |           d } ||                                |           d } ||                                |           d } ||                                |           d S )N)r"   barbazqux)r   r   r   r   )r   r!   rX      rf   c                 $     ||           }|J d S r~    )baser)   r{   s      r   _check_fz<TestDataFrameMisc.test_inplace_return_self.<locals>._check_f   s    QtWWF>>>>>r   c                 0    |                      dd          S )NrA   Tinplace)	set_indexxs    r   <lambda>z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>   s    akk#tk44 r   c                 .    |                      d          S NTr   reset_indexr   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>   s    ammDm11 r   rA   c                 .    |                      d          S r   )drop_duplicatesr   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>   s    a'''55 r   c                 0    |                      dd          S )Nrg   Tr   )sort_valuesr   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>   s    ammCm66 r   c                 .    |                      d          S r   )
sort_indexr   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>  s    all4l00 r   c                 0    |                      dd          S Nr   Tr   fillnar   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>      ahhq$h// r   c                 2    |                      ddd          S Nr   r   Tr   replacer   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>      aii1di33 r   c                 4    |                      ddid          S Nr   r"   Tr   renamer   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>      ahh5z4h88 r   rh   c                 0    |                      dd          S )NT)r   dropr   r   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>  s    ammDtm<< r   c                 0    |                      dd          S r   r   r   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>  r   r   c                 2    |                      ddd          S r   r   r   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>  r   r   c                 4    |                      ddid          S r   r   r   s    r   r   z<TestDataFrameMisc.test_inplace_return_self.<locals>.<lambda>"  r   r   )r   copyr   )r   datar   r)   r   s        r   test_inplace_return_selfz*TestDataFrameMisc.test_inplace_return_self   s    ...\\\UU
 
	" 	" 	" 54a    21$$a((( 65a    76a    10a    0/a    43a    98a    IIKK =<$$S)1--- 0/1 431 981r   c                 x   t          j        dd           ddlm} |t          u rd}nd}|                    |           t          j        d d	          5   |d
          5  t          |j	        
                    dd                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NIPythonz6.0.0)
minversionr   )provisionalcompleterz/from pandas import DataFrame; obj = DataFrame()z5from pandas import Series; obj = Series(dtype=object)F)raise_on_extra_warningsignorezobj.r   )r&   importorskipIPython.core.completerr   r   run_cellrr   assert_produces_warningr4   	Completercompletions)r   ipframe_or_seriesr   codes        r   test_tab_complete_warningz+TestDataFrameMisc.test_tab_complete_warning%  sU   I'::::??????i''DDDJD
D 'eLLL 	: 	:%%h// : :R\--fa88999: : : : : : : : : : : : : : :	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s6   B/")BB/B	B/B	B//B36B3c                     t          dddgi          }|j        i k    sJ d|j        d<   |                    t                    }|j        ddik    sJ d S )Nr   r!   rX   r   versionr2   r   attrsr   rB   r   r<   r{   s      r   
test_attrszTestDataFrameMisc.test_attrs6  sb    aV}%%x2~~~~3''|	1~------r   c                     t          dddgi          }|j        i k    sJ ddh|j        d<   |                    t                    }|j        |j        k    sJ |j        d         |j        d         usJ d S )Nr   r!   rX   spamhamtagsr2   r   r   s      r   test_attrs_deepcopyz%TestDataFrameMisc.test_attrs_deepcopy>  s    aV}%%x2~~~~"E?3''|rx''''|F#28F+;;;;;;;r   allows_duplicate_labels)TFNc                 6   t          dddgi          }d}|t          u r
|d         }d}|                    |          }||j        j        du sJ n|j        j        |u sJ ||usJ |j        j        du sJ |t          u r"t          j        |j        |j                  sJ n-t          j        |d         j        |d         j                  sJ t          j	        |          5  d|j
        |<   d d d            n# 1 swxY w Y   |r|j
        |         dk    sJ nI|j
        |         dk    sJ t          j	        |          5  d|j
        |<   d d d            n# 1 swxY w Y   |                    d|          }d	|j
        |<   |j
        |         dk    sJ d S )
Nr   r   r!   )r   r   r   )r   T)r   r   r   )r   r   	set_flagsflagsr   rY   may_share_memoryrL   rr   assert_cow_warningiloc)r   r   r   using_copy_on_writewarn_copy_on_writeobjr=   r{   s           r   test_set_flagsz TestDataFrameMisc.test_set_flagsG  si    q!f&&f$$c(CC7NOO"*<74?????<7;RRRRR &     y0D8888 f$$&sz6=AAAAAA&s3xs8JKKKKK"#566 	! 	! FK	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	%8C=A%%%%%8C=A%%%%&'9:: % %#$C % % % % % % % % % % % % % % % /F  
 
 Cx}!!!!!!s$   $C;;C?C?EE!Ec                    t                      }d}t          j        t          |          5  |                    t          j        d                              ddd                     d d d            d S # 1 swxY w Y   d S )Nz<'DataFrame' object has no attribute '_constructor_expanddim'r      rX   )r   r&   r'   AttributeError_constructor_expanddimrY   rl   reshaper   r<   rQ   s      r   test_constructor_expanddimz,TestDataFrameMisc.test_constructor_expanddimz  s     [[L]>555 	F 	F%%bimm&;&;Aq!&D&DEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs   =A66A:=A:c                     t                      }d}t          j        t          |d          5  t	          j        |           d d d            d S # 1 swxY w Y   d S )NzDataFrame._data is deprecatedF)r    check_stacklevel)r   rr   r   DeprecationWarninginspect
getmembersr   s      r   test_inspect_getmembersz)TestDataFrameMisc.test_inspect_getmembers  s    [[-'cE
 
 
 	# 	# r"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   AAAN)#__name__
__module____qualname__r   r*   r-   r>   rM   rR   r&   markxfailr   r   rV   r_   rd   rn   rv   r|   r   r   r   parametrizer   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r      sY         % % %:/ / /: : :&% % %&   [,5M   ( ( (& & &	) 	) 	)
 
 
. . .
1 
1 
1/ / /  
   [IKKIQC   Iqc"""Iq"g		
   1 1 1* * *
> > >@: : :". . .< < < [68K8K8KLL0" 0" ML0"dF F F# # # # #r   r   )r   r   r  r   numpyrY   r&   pandas._configr   pandas._config.configr   pandas.compatr   pandasr8   r   r   r	   r
   pandas._testing_testingrr   r   r   r   r   <module>r     s                - - - - - - 0 0 0 0 0 0 % % % % % %                     t# t# t# t# t# t# t# t# t# t#r   