
    bi2                       d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ  ed       d dl	Z
d dlZd dlmZ  eej                         Zej$                  dk\  Zej$                  dk\  Zej$                  dk\  Zej$                  d	k\  Zej$                  d
k\  Zej$                  dk\  Zej2                  dk\  Zd Zd Zd Zd Zd ZddZ ddZ!d Z"d Z#ejH                  d        Z%ejH                  d        Z&ejH                  d        Z'ejH                  d        Z(ejH                  d        Z)ejT                  jV                  Z+ddZ,ddZ-y)     )annotationsN)Version)import_optional_dependencypandas)   r      )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r      r   r	   c                    t        j                  | |g|i | t        | j                  t        j
                        s
J |  d       t        |j                  t        j
                        s
J | d       y )Nz is not categorical dtype)tmassert_extension_array_equal
isinstancedtypepdCategoricalDtype)leftrightargskwargss       N/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/_pandas_compat.pyassert_categorical_equalr       s    ##D%A$A&A

B'' *
()*  R(( +
)*+     c                    t        j                  |       }t        j                  |      }t        j                  j	                  ||       | |    }||    }t        j                  j	                  ||       y N)r   isnanptestingassert_array_equal)r   r   left_naright_na
left_validright_valids         r   assert_numpy_array_equalr"   *   s[    ggdmGwwu~HJJ!!'84whJ	"KJJ!!*k:r   c                     t         j                  j                  dd      } t        t        j
                        d d }t        j                  | |t        d            S )N      ABCDindexcolumns)r   randomrandnliststringascii_lettersr   	DataFrame)datar(   s     r   makeDataFramer1   4   sD    99??2q!D%%&s+E<<E4<@@r   c                 8    t               } t               | _        | S r   )r1   makeDateIndexr(   )r0   s    r   makeTimeDataFramer4   :   s    ?DDJKr   c                     t               d   S )NA)r4    r   r   makeTimeSeriesr8   @   s    s##r   c                2    t        j                  d| |      S )N2000periodsfreq)r   
date_rangekr=   s     r   r3   r3   D   s    ==66r   c                2    t        j                  d| |      S )Nz1 dayr;   )r   timedelta_ranger?   s     r   makeTimedeltaIndexrC   H   s    gqt<<r   c                     t               } | j                  }t        j                  |dkD  t        j                  |      }t        j                  || j                  | j                        S )Nr   r'   )	r1   valuesr   wherenanr   r/   r(   r)   )dfr0   s     r   makeMissingDataframerI   L   sG    	B99D88D1Hbffd+D<<BHHbjjAAr   c            	         t        j                  g dg dt        d      D  cg c]  } d|  	 c} t        j                  dd      d      }|S c c} w )N)        r   r   r	   r%   )rK   r   r   r   r      fooz
2009-01-01)r<   )r6   BCD)r   r/   ranger>   )irH   s     r   makeMixedDataFramerS   S   sM    	""%*1X.Cs).|Q7		

B I	 /s   Ac               #     K   t         r=t        j                         5  t        j                  ddt               d  d d d        y d  y # 1 sw Y   y xY ww)NignorezS.*Call without passing 'axis' instead|.*Operate on the un-grouped DataFrame insteadPANDAS_GE_210warningscatch_warningsfilterwarningsFutureWarningr7   r   r   check_groupby_axis_deprecationr\   _   sO     $$& 	##e
 	 	 		 	s   A AAAAc               #     K   t         r>t        j                         5  t        j                  ddt               d  d d d        y d  y # 1 sw Y   y xY ww)NrU   zThe default of observed=FalsemessagecategoryrV   r7   r   r   check_observed_deprecationra   m   sO     $$& 	##7&
 	 	 		 	   A!AAAAc               #     K   t         r>t        j                         5  t        j                  ddt               d  d d d        y d  y # 1 sw Y   y xY ww)NrU   zthe convert_dtype parameterr^   rV   r7   r   r   check_convert_dtype_deprecationrd   {   sO     $$& 	##5&
 	 	 		 	rb   c               #     K   t         r>t        j                         5  t        j                  ddt               d  d d d        y d  y # 1 sw Y   y xY ww)NrU   zReturning a DataFramer^   rV   r7   r   r   !check_apply_dataframe_deprecationrf      sO     $$& 	##/&
 	 	 		 	rb   c               #     K   t         s>t        j                         5  t        j                  ddt               d  d d d        y d  y # 1 sw Y   y xY ww)NrU   zMinvalid value encountered in double_scalars|Degrees of freedom <= 0 for slicer^   )PANDAS_GE_201rX   rY   rZ   RuntimeWarningr7   r   r    check_reductions_runtime_warningrj      sO     $$& 	##g'
 	 	 		 	rb   c                T    t         j                  j                  j                  |       S r   )r   apitypesis_any_real_numeric_dtype)arr_or_dtypes    r   rn   rn      s    66<<11,??r   c                    t        | d      r| j                  }n| }t        j                  j                  j                  |      S )Nr   )hasattrr   r   rl   rm   is_string_dtype)ro   r   s     r   rr   rr      s7     |W%""66<<''..r   )r$   rN   )r$   rP   )returnbool).
__future__r   
contextlibr-   rX   packaging.versionr   dask._compatibilityr   numpyr   r   r   pandas.testingr   r   __version__PANDAS_VERSIONreleaserh   PANDAS_GE_202rW   PANDAS_GE_211PANDAS_GE_220PANDAS_GE_230majorPANDAS_GE_300r   r"   r1   r4   r8   r3   rC   rI   rS   contextmanagerr\   ra   rd   rf   rj   errorsIndexingErrorrn   rr   r7   r   r   <module>r      su   #    % : 8 $   (&&)3&&)3&&)3&&)3&&)3&&)3$$)+;A$7=B	 
 
 
 
 
 
 
 
 
 
 		''@/r   