
    o[we.                         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	Z
d dl	mZmZmZmZ d dlmZ  G d d          ZdS )    )deepcopyN)option_context)	DataFrameSeries
date_rangetimedelta_rangec            
          e Zd Zd Zd Zd Zd Zd Zd Z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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       ;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_raises?   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_completionC   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>X   s"    444A3Q<444r   i  r0   a99a100zdisplay.max_dir_itemsi,  a299a300a419)ranger   r3   r   )r   r   valuesr:   s       r   test_display_max_dir_itemsz,TestDataFrameMisc.test_display_max_dir_itemsV   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_hashablei   s   kks^^,]9C000 	 	HHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s#   AAA>BB"Bc                 x    d}t          |g i          }|t          |          vsJ |j        d         |k    sJ d S )Nu   r   )r   r3   r   )r   colnamer:   s      r   +test_column_name_contains_unicode_surrogatez=TestDataFrameMisc.test_column_name_contains_unicode_surrogates   sL    }%%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idxrO   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      @r?   bcr   r   rU   r   r   )r   emptyrV   arange)r   r   float_string_framerN   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   r0   )lenr   rJ   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   )sumro   assert_series_equal)r   r   r'   rr   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   rj   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   rU   r   )r   r   r?   rd   re   d)r   rh   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   rg   r0   c                 4    |j         sJ |j        j         sJ d S r{   )rh   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 dayrf   objectcount)r   )r   r   r   r   dtypesvalue_countsr   rV   dtypero   rw   )r   r:   trx   rr   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                     t          |          }|d         }d|d d <   |                                D ]\  }}|d         |         |k    sJ d S )Nr   r   )r   r   )r   r   cpr   r`   values         r   test_deepcopyzTestDataFrameMisc.test_deepcopy   sh    k""Cqqq	 ,,.. 	2 	2JCs#C(E11111	2 	2r   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   rU      rc   c                 $     ||           }|J d S r{    )baser'   rx   s      r   _check_fz<TestDataFrameMisc.test_inplace_return_self.<locals>._check_f   s    QtWWF>>>>>r   c                 0    |                      dd          S )Nr?   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   r?   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 )Nrd   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   re   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_cellro   assert_produces_warningr2   	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   rU   r   versionr0   )r   attrsr   r@   )r   r:   rx   s      r   
test_attrszTestDataFrameMisc.test_attrs2  sb    aV}%%x2~~~~3''|	1~------r   allows_duplicate_labels)TFNc                    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 d|j        |<   |r|j        |         dk    sJ n|j        |         dk    sJ d|j        |<   |                    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   rV   may_share_memoryrJ   iloc)r   r   r   using_copy_on_writeobjr;   rx   s          r   test_set_flagsz TestDataFrameMisc.test_set_flags:  s    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C 	!8C=A%%%%%8C=A%%%% FK /F  
 
 Cx}!!!!!!r   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      rU   )r   r$   r%   AttributeError_constructor_expanddimrV   ri   reshaper   r:   rO   s      r   test_constructor_expanddimz,TestDataFrameMisc.test_constructor_expanddimg  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          j        d           t                      }d}t          j        t
          |d          5  t          j        |           d d d            d S # 1 swxY w Y   d S )Njinja2zDataFrame._data is deprecatedF)r   check_stacklevel)r$   r   r   ro   r   DeprecationWarninginspect
getmembersr   s      r   test_inspect_getmembersz)TestDataFrameMisc.test_inspect_getmembersq  s    H%%%[[-'cE
 
 
 	# 	# r"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   A##A'*A'N)__name__
__module____qualname__r   r(   r+   r<   rK   rP   rS   r\   ra   rk   rs   ry   r~   r   r   r$   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r
   r
      s         % % %:/ / /: : :&% % %&  ( ( (& & &	) 	) 	)
 
 
. . .
1 
1 
1/ / /  
   [IKKIQC   Iqc"""Iq"g		
   1 1 12 2 2> > >@: : :". . . [68K8K8KLL*" *" ML*"XF F F# # # # #r   r
   )r   r   r   r|   numpyrV   r$   pandas._config.configr   pandasr6   r   r   r   r   pandas._testing_testingro   r
   r   r   r   <module>r     s                 0 0 0 0 0 0                     e# e# e# e# e# e# e# e# e# e#r   