§
    
�’jv  ã                  ó”  — d Z ddlmZ ddlmZmZmZ ddlZddl	m
Z
 ddlmZmZ ddlmZmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZ ddlmZ er$ddlmZ ddlm Z  ddlm!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z( e	 	 d,d-d„¦   «         Z)e	 	 d,d.d„¦   «         Z)e	 	 d,d/d „¦   «         Z) ed!¦  «        	 	 d0d1d%„¦   «         Z)	 d2d3d(„Z*	 	 	 d4d5d+„Z+dS )6z
timedelta support tools
é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚoverloadN)Úlib)ÚNaTÚNaTType)Ú	TimedeltaÚdisallow_ambiguous_unitÚparse_timedelta_unit)Ú
set_module)Úis_list_like)Ú
ArrowDtype)ÚABCIndexÚ	ABCSeries)Úsequence_to_td64ns)ÚHashable)Ú	timedelta)ÚUnitChoices)Ú	ArrayLikeÚDateTimeErrorChoices)ÚIndexÚSeriesÚTimedeltaIndex.Úargústr | float | timedeltaÚunitúUnitChoices | NoneÚerrorsr   Úreturnr
   c                ó   — d S ©N© ©r   r   r   s      úJC:\Projects\DSCons\.venv\Lib\site-packages\pandas\core\tools\timedeltas.pyÚto_timedeltar&   5   s	   € ð
 �ó    r   c                ó   — d S r"   r#   r$   s      r%   r&   r&   =   s	   € ð
 ˆSr'   ú(list | tuple | range | ArrayLike | Indexr   c                ó   — d S r"   r#   r$   s      r%   r&   r&   E   s	   € ð
 �Sr'   ÚpandasÚraiseúQstr | int | float | timedelta | list | tuple | range | ArrayLike | Index | Seriesú3Timedelta | TimedeltaIndex | Series | NaTType | Anyc                ó  — |�t          |¦  «        }t          |¦  «         |dvrt          d¦  «        ‚| €t          S t	          | t
          ¦  «        r9t          | j        ||¬¦  «        }|                      || j	        | j
        ¬¦  «        S t	          | t          ¦  «        rt          | ||| j
        ¬¦  «        S t	          | t          j        ¦  «        r | j        dk    rt          j        | ¦  «        } nZt#          | ¦  «        r't%          | dd	¦  «        d	k    rt          | ||¬¦  «        S t%          | dd	¦  «        d	k    rt'          d
¦  «        ‚t	          | t(          ¦  «        r|�t          d¦  «        ‚t+          | ||¬¦  «        S )a,  
    Convert argument to timedelta.

    Timedeltas are absolute differences in times, expressed in difference
    units (e.g. days, hours, minutes, seconds). This method converts
    an argument from a recognized timedelta format / value into
    a Timedelta type.

    Parameters
    ----------
    arg : str, timedelta, list-like or Series
        The data to be converted to timedelta.

        .. versionchanged:: 2.0
            Strings with units 'M', 'Y' and 'y' do not represent
            unambiguous timedelta values and will raise an exception.

    unit : str, optional
        Denotes the unit of the arg for numeric `arg`. Defaults to ``"ns"``.

        Possible values:

        * 'W'
        * 'D' / 'days' / 'day'
        * 'hours' / 'hour' / 'hr' / 'h'
        * 'm' / 'minute' / 'min' / 'minutes'
        * 's' / 'seconds' / 'sec' / 'second'
        * 'ms' / 'milliseconds' / 'millisecond' / 'milli' / 'millis'
        * 'us' / 'microseconds' / 'microsecond' / 'micro' / 'micros'
        * 'ns' / 'nanoseconds' / 'nano' / 'nanos' / 'nanosecond'

        Must not be specified when `arg` contains strings and ``errors="raise"``.

    errors : {'raise', 'coerce'}, default 'raise'
        - If 'raise', then invalid parsing will raise an exception.
        - If 'coerce', then invalid parsing will be set as NaT.

    Returns
    -------
    timedelta
        If parsing succeeded.
        Return type depends on input:

        - list-like: TimedeltaIndex of timedelta64 dtype
        - Series: Series of timedelta64 dtype
        - scalar: Timedelta

    See Also
    --------
    DataFrame.astype : Cast argument to a specified dtype.
    to_datetime : Convert argument to datetime.
    convert_dtypes : Convert dtypes.

    Notes
    -----
    If the precision is higher than nanoseconds, the precision of the duration is
    truncated to nanoseconds for string inputs.

    Examples
    --------
    Parsing a single string to a Timedelta:

    >>> pd.to_timedelta("1 days 06:05:01.00003")
    Timedelta('1 days 06:05:01.000030')
    >>> pd.to_timedelta("15.5us")
    Timedelta('0 days 00:00:00.000015500')

    Parsing a list or array of strings:

    >>> pd.to_timedelta(["1 days 06:05:01.00003", "15.5us", "nan"])
    TimedeltaIndex(['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT],
                   dtype='timedelta64[ns]', freq=None)

    Converting numbers by specifying the `unit` keyword argument:

    >>> pd.to_timedelta(np.arange(5), unit="s")
    TimedeltaIndex(['0 days 00:00:00', '0 days 00:00:01', '0 days 00:00:02',
                    '0 days 00:00:03', '0 days 00:00:04'],
                   dtype='timedelta64[s]', freq=None)
    >>> pd.to_timedelta(np.arange(5), unit="D")
    TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'],
                   dtype='timedelta64[s]', freq=None)
    N)r,   Úcoercez+errors must be one of 'raise', or 'coerce'.)r   r   )ÚindexÚname)r   r   r2   r   Úndimé   zBarg must be a string, timedelta, list, tuple, 1-d array, or Seriesz9unit must not be specified if the input is/contains a str)r   r   Ú
ValueErrorr   Ú
isinstancer   Ú_convert_listlikeÚ_valuesÚ_constructorr1   r2   r   ÚnpÚndarrayr3   r   Úitem_from_zerodimr   ÚgetattrÚ	TypeErrorÚstrÚ _coerce_scalar_to_timedelta_type)r   r   r   Úvaluess       r%   r&   r&   M   s–  € ðD ÐÝ# DÑ)Ô)ˆÝ Ñ%Ô%Ð%àÐ(Ð(Ð(ÝÐFÑGÔGÐGà
€{Ýˆ
Ý	�C�Ñ	#Ô	#ð 
Ý" 3¤;°TÀ&ÐIÑIÔIˆØ×Ò ¨c¬i¸c¼hÐÑGÔGÐGÝ	�C�Ñ	"Ô	"ð 
Ý  ¨4¸ÀSÄXÐNÑNÔNÐNÝ	�C�œÑ	$Ô	$ð 
¨¬°Qª¨õ Ô# CÑ(Ô(ˆˆÝ	�cÑ	Ô	ð 
�w s¨F°AÑ6Ô6¸!Ò;Ð;Ý  ¨4¸Ð?Ñ?Ô?Ð?Ý	��f˜aÑ	 Ô	  1Ò	$Ð	$ÝØPñ
ô 
ð 	
õ �#•sÑÔð V Ð 0ÝÐTÑUÔUÐUõ ,¨C°dÀ6ÐJÑJÔJÐJr'   ÚnsúTimedelta | NaTTypec                óf   — 	 t          | |¦  «        }n# t          $ r |dk    r‚ t          }Y nw xY w|S )z)Convert string 'r' to a timedelta object.r,   )r
   r5   r   )Úrr   r   Úresults       r%   r@   r@   Ò   sQ   € ðÝ˜1˜dÑ#Ô#ˆˆøÝð ð ð Ø�WÒÐØåˆˆˆð	øøøð €Ms   ‚ “.­.r2   úHashable | Nonec                ól  — t          | dd¦  «        }t          | t          t          f¦  «        s|€t	          j        | t          ¬¦  «        } n"t          |t          ¦  «        r|j        dk    r| S t          | ||d¬¦  «        d         }ddl
m} || u pt	          j        | |¦  «        } ||||¬	¦  «        }|S )
z6Convert a list of objects to a timedelta index object.ÚdtypeN)rI   ÚmF)r   r   Úcopyr   )r   )r2   rK   )r=   r6   ÚlistÚtupler:   ÚarrayÚobjectr   Úkindr   r+   r   Úmay_share_memory)	r   r   r   r2   Ú	arg_dtypeÚtd64arrr   rK   Úvalues	            r%   r7   r7   ã   sÌ   € õ ˜˜W dÑ+Ô+€IÝ�#��e�}Ñ%Ô%ð ¨Ð):ÝŒh�s¥&Ð)Ñ)Ô)ˆˆÝ	�I�zÑ	*Ô	*ð ¨y¬~ÀÒ/DÐ/DØˆ
å  ¨4¸ÀUÐKÑKÔKÈAÔN€Gà%Ð%Ð%Ð%Ð%Ð%à�cˆ>Ð>�RÔ0°°gÑ>Ô>€DØˆN˜7¨°DÐ9Ñ9Ô9€EØ€Lr'   )..)r   r   r   r   r   r   r    r
   )r   r   r   r   r   r   r    r   )r   r)   r   r   r   r   r    r   )Nr,   )r   r-   r   r   r   r   r    r.   )rB   r,   )r   r   r   r   r    rC   )Nr,   N)r   r   r   r   r2   rG   ),Ú__doc__Ú
__future__r   Útypingr   r   r   Únumpyr:   Úpandas._libsr   Úpandas._libs.tslibsr   r	   Úpandas._libs.tslibs.timedeltasr
   r   r   Úpandas.util._decoratorsr   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   Úpandas.core.dtypes.genericr   r   Úpandas.core.arrays.timedeltasr   Úcollections.abcr   Údatetimer   r   Úpandas._typingr   r   r+   r   r   r   r&   r@   r7   r#   r'   r%   ú<module>rd      só  ððð ð #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð Ð Ð Ð à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
 /Ð .Ð .Ð .Ð .Ð .à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð
 =Ð <Ð <Ð <Ð <Ð <àð Ø(Ð(Ð(Ð(Ð(Ð(Ø"Ð"Ð"Ð"Ð"Ð"à:Ð:Ð:Ð:Ð:Ð:ðð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð 
ð  #Ø#&ðð ð ð ñ 
„ðð 
ð  #Ø#&ðð ð ð ñ 
„ðð 
ð  #Ø#&ðð ð ð ñ 
„ðð €ˆHÑÔð  $Ø#*ðAKð AKð AKð AKñ ÔðAKðJ HOðð ð ð ð ð&  $Ø#*Ø ð	ð ð ð ð ð ð r'   