
    bMh                     l    d dl Z d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
mZ d dlmZ  G d d          ZdS )    N)IS64is_platform_windows)Categorical	DataFrameSeries
date_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ej                            dg d          ej                            dddg          d                         Zd ZdS )TestIterationc                 @    |                                 |j        u sJ d S N)keyscolumnsselffloat_frames     a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/test_iteration.py	test_keyszTestIteration.test_keys   s(    !![%8888888    c                     t          g dg dgg d          }|                                D ]!\  }}t          |t           j                  sJ "d S )N                  )ar   br   )r   items
isinstance_constructor_sliced)r   dfkvs       r   test_iteritemszTestIteration.test_iteritems   sj    			999-GGGHHJJ 	@ 	@DAqa!>??????	@ 	@r   c                    g d}t          g dg dg|          }t          ||                                          D ]G\  }\  }}||k    sJ t          |t                    sJ ||         |k                                    sJ Hd S )N)r   r   cr   r   r    )r   zipr!   r"   r   all)r   colsr$   r)   r%   r&   s         r   
test_itemszTestIteration.test_items   s    			999-t<<<T288::.. 	& 	&IAv16666a(((((qEQJ##%%%%%%	& 	&r   c                 T    |                                 D ]\  }}|j        |k    sJ d S r   )r!   name)r   float_string_framer%   r&   s       r   test_items_nameszTestIteration.test_items_names&   s<    &,,.. 	 	DAq6Q;;;;;	 	r   c                 T    t          |          t          |j                  k    sJ d S r   )listr   r   s     r   	test_iterzTestIteration.test_iter*   s,    K  D)<$=$=======r   c                     |                                 D ]'\  }}|j        |         }t          j        ||           (|                                 D ]'\  }}|j        |         }t          j        ||           (d S r   )iterrowsloctmassert_series_equal)r   r   r0   r%   r&   exps         r   test_iterrowszTestIteration.test_iterrows-   s    ((** 	+ 	+DAq/!$C"1c****&//11 	+ 	+DAq$(+C"1c****	+ 	+r   c                     t          g dt          ddd          d          }|                                D ]'\  }}|j        |         }t	          j        ||           (d S )N)M1701M1802M1903M2004z
2000-01-01r   ME)periodsfreq)non_iso8601iso8601)r   r   r6   r7   r8   r9   )r   sr%   r&   r:   s        r   test_iterrows_iso8601z#TestIteration.test_iterrows_iso86016   s~    CCC%lADIII 
 
 JJLL 	+ 	+DAq%(C"1c****	+ 	+r   c           
         t          t          j        ddd          gd gd gdgg gt                      gi gd          }t          t          j        ddd          d d dg t                      i gt	          d          dd          }t          |                                          \  }}t          j        ||           d S )	Ni  r    )r   r   r)   defgabcdefgr   object)indexr/   dtype)	r   datetimesetr   r3   nextr6   r8   r9   )r   r$   expected_results        r   test_iterrows_cornerz"TestIteration.test_iterrows_cornerB   s    'a334VVTTeeWT 

 

 tQ**D$BrJy//	
 
 
 ''	6
vx00000r   c                    t          |                                          D ]h\  }}t          j        |dd                    }|d         |_        |j        |d d f                             d          }t          j        ||           id S )Nr   r   T)drop)		enumerate
itertuplesr   r#   r/   ilocreset_indexr8   r9   )r   r   itupserrU   s         r   test_itertupleszTestIteration.test_itertuplesX   s     6 6 8 899 	2 	2FAs/ABB88C1vCH"'111-99t9DDH"31111		2 	2r   c                    t          t          j                            d                              d          t          d          dddg          }|                    d          D ]}t          |d	         t                    sJ  d S )
Nr   r   )floatsintsrd   re   r    FrP   r   )	r   nprandomdefault_rngstandard_normalranger\   r"   intr   r$   r`   s      r   test_itertuples_index_falsez)TestIteration.test_itertuples_index_false_   s    y,,Q//??BBERSHHUUv&
 
 

 ==u=-- 	+ 	+Cc!fc******	+ 	+r   c                 8   t          g dg dd          }|ddg         }t          |                                          g dk    sJ t                      s=t          r8t          t          |                    d                               dk    sJ d S d S d S )	Nr   r   r   r   datar   ))r   r   r   )r   r   r   )r   r   r   r/   z![(0, 1, 4), (1, 2, 5), (2, 3, 6)])r   r3   r\   r   r   repr)r   r$   dfaas      r   test_itertuples_duplicate_colsz,TestIteration.test_itertuples_duplicate_colsh   s    ))))))<<===3*~DOO%%&&*K*K*KKKKK $%% 	T 	T"--T-22334467 7 7 7	 	 	 	7 7r   c                     t          g dg dd          }t          |                    d                    }|j        dk    sJ |j        |j        |j        f|k    sJ t          |          j        dk    sJ d S )Nr   r   rp   rq   TestNamers   )Indexr   r   )	r   rT   r\   _fieldsry   r   r   type__name__rm   s      r   test_itertuples_tuple_namez(TestIteration.test_itertuples_tuple_nameu   s    ))))))<<===2==j=1122{11111	35#%(C////Cyy!Z//////r   c                     t          g dg dd          }t          |                    d                    }|dk    sJ |j        dk    sJ d S )	Nr   r   )defreturnrq   rx   rs   )r   r   r   )ry   _1_2)r   rT   r\   rz   )r   r$   tup2s      r   %test_itertuples_disallowed_col_labelsz3TestIteration.test_itertuples_disallowed_col_labels|   sh    IIICCDDDBMMzM2233y    |4444444r   limit)      i   rP   TFc                     t          d t          |          D             g          }t          |                    |                    }t	          |t
                    sJ t          |d          sJ d S )Nc                      i | ]}d | d| S )foo_bar_ ).0r_   s     r   
<dictcomp>zNTestIteration.test_itertuples_py2_3_field_limit_namedtuple.<locals>.<dictcomp>   s&    FFFAZAZZFFFr   rf   rz   )r   rk   rT   r\   r"   tuplehasattr)r   r   rP   r$   rW   s        r   ,test_itertuples_py2_3_field_limit_namedtuplez:TestIteration.test_itertuples_py2_3_field_limit_namedtuple   sv     FFuFFFGHHbmm%m0011&%(((((vy)))))))r   c                    t          g dg dd          }t          |d                   |d<   t          |j        j                  }t          j        |j        j                                                  }t          j	        ||           |
                    d          D ]}t          |           |                                D ]\  }}t          |           |                                D ]\  }}t          |           d S )N)r   r   r   r   r   r   )r   r   r   r   r   rK   )id	raw_grader   gradeFrf   )r   r   r3   r   valuesrg   arraytolistr8   assert_almost_equalr\   strr6   r!   )	r   r$   rW   rU   trowrF   r)   cols	            r   #test_sequence_like_with_categoricalz1TestIteration.test_sequence_like_with_categorical   s    %%%4R4R4RSS
 
 ""[/227 bho&&8BHO,,3355
vx000 U++ 	 	AFFFFkkmm 	 	FCFFFFhhjj 	 	FAsHHHH	 	r   N)r|   
__module____qualname__r   r'   r-   r1   r4   r;   rG   rX   rb   rn   rv   r}   r   pytestmarkparametrizer   r   r   r   r   r
   r
      s?       9 9 9@ @ @
& & &  > > >+ + +
+ 
+ 
+1 1 1,2 2 2+ + +  0 0 05 5 5 [W&6&6&677[WtUm44* * 54 87*    r   r
   )rR   numpyrg   r   pandas.compatr   r   pandasr   r   r   r   pandas._testing_testingr8   r
   r   r   r   <module>r      s                
                 L L L L L L L L L Lr   