
    d.                         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
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)
async_mark
skip_if_no)	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 e            d             Zd Zej                            dg d          d             Zd Z ed          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       W/var/www/html/t/fyr/venv311/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_raisesD   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_completionH   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_items[   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_hashablen   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   r5   r   )r   colnamer<   s      r   +test_column_name_contains_unicode_surrogatez=TestDataFrameMisc.test_column_name_contains_unicode_surrogatex   sL    }%%c"gg%%%%z!}''''''r   c                     t          t          j                            dd                    }t          t          j                            dd                    }d|j        _        |j        j        J d S )Nr      r"   )r   nprandomrandnr   r   )r   df1df2s      r   test_new_empty_indexz&TestDataFrameMisc.test_new_empty_index   s[    	1--..	1--..	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   rW   r   r   )r   emptyrX   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   )sumrp   assert_series_equal)r   r   r)   rs   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   rk   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!   rW   r   )r   r   rA   re   rf   d)r   ri   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   rh   r2   c                 4    |j         sJ |j        j         sJ d S r|   )ri   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 dayrg   objectcount)r   )r   r	   r
   r   dtypesvalue_countsr   rX   dtyperp   rx   )r   r<   try   rs   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   ra   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!   rW      rd   c                 $     ||           }|J d S r|    )baser)   ry   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 )Nre   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   rf   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                   K   t          j        dd           ddlm} |t          u rd}nd}|                    |           d {V  t          j        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)ignorezobj.r   )r&   importorskipIPython.core.completerr   r   run_coderp   assert_produces_warningr4   	Completercompletions)r   ipframe_or_seriesr   codes        r   test_tab_complete_warningz+TestDataFrameMisc.test_tab_complete_warning&  sh      	I'::::??????i''DDDJDkk$ '-- 	: 	:%%h// : :R\--fa88999: : : : : : : : : : : : : : :	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s6   B5()BB5B!	!B5$B!	%B55B9<B9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!   rW   r   versionr2   )r   attrsr   rB   )r   r<   ry   s      r   
test_attrszTestDataFrameMisc.test_attrs9  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   rX   may_share_memoryrL   iloc)r   r   r   using_copy_on_writeobjr=   ry   s          r   test_set_flagsz TestDataFrameMisc.test_set_flagsA  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      rW   )r   r&   r'   AttributeError_constructor_expanddimrX   rj   reshape)r   r<   rQ   s      r   test_constructor_expanddimz,TestDataFrameMisc.test_constructor_expanddimn  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:jinja2c                     t                      }t          j        d           5  t          j        |           d d d            d S # 1 swxY w Y   d S r|   )r   rp   r   inspect
getmembersr   s     r   test_inspect_getmembersz)TestDataFrameMisc.test_inspect_getmembersx  s     [['-- 	# 	#r"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   AA	A	N)!__name__
__module____qualname__r   r*   r-   r>   rM   rR   rU   r]   rb   rl   rt   rz   r   r   r   r&   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s9         % % %:/ / /: : :&% % %&  ( ( (& & &	) 	) 	)
 
 
. . .
1 
1 
1/ / /  
   [IKKIQC   Iqc"""Iq"g		
   1 1 12 2 2> > >@ Z\\: : \:$. . . [68K8K8KLL*" *" ML*"XF F F Z# # # # #r   r   )r   r   r   r}   numpyrX   r&   pandas._config.configr   pandas.util._test_decoratorsr   r   pandasr8   r   r   r	   r
   pandas._testing_testingrp   r   r   r   r   <module>r     s                0 0 0 0 0 0       
                     d# d# d# d# d# d# d# d# d# d#r   