Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pandas/core/tools/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pandas/core/tools/__pycache__/timedeltas.cpython-312.pyc

�

Mٜg�"���dZddlmZddlmZmZddlZddlZddl	m
Z
ddlmZm
Z
ddlmZmZmZddlmZdd	lmZdd
lmZddlmZmZddlmZer$dd
lmZddlm Z ddlm!Z!ddl"m#Z#m$Z$ddl%m&Z&m'Z'm(Z(e		d							dd��Z)e		d							dd��Z)e		d							dd��Z)		d							dd�Z)	d			dd�Z*			d 					d!d�Z+y)"z
timedelta support tools
�)�annotations)�
TYPE_CHECKING�overloadN)�lib)�NaT�NaTType)�	Timedelta�disallow_ambiguous_unit�parse_timedelta_unit)�find_stack_level)�is_list_like)�
ArrowDtype)�ABCIndex�	ABCSeries)�sequence_to_td64ns)�Hashable)�	timedelta)�UnitChoices)�	ArrayLike�DateTimeErrorChoices)�Index�Series�TimedeltaIndexc��y�N���arg�unit�errorss   �G/usr/local/lib/python3.12/site-packages/pandas/core/tools/timedeltas.py�to_timedeltar"4����c��yrrrs   r!r"r"=r#r$c��yrrrs   r!r"r"Fr#r$c��|�t|�}t|�|dvrtd��|dk(r$tjdt
t
���|�|St|t�r@t|j||��}|j||j|j��St|t�rt||||j��St|tj �r%|j"d	k(rt%j&|�}nDt)|�rt+|d
d�dk(rt|||��St+|d
d�dkDrt-d��t|t.�r
|�td
��t1|||��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' / 'H'
        * 'm' / 'minute' / 'min' / 'minutes' / 'T'
        * 's' / 'seconds' / 'sec' / 'second' / 'S'
        * 'ms' / 'milliseconds' / 'millisecond' / 'milli' / 'millis' / 'L'
        * 'us' / 'microseconds' / 'microsecond' / 'micro' / 'micros' / 'U'
        * 'ns' / 'nanoseconds' / 'nano' / 'nanos' / 'nanosecond' / 'N'

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

        .. deprecated:: 2.2.0
            Units 'H', 'T', 'S', 'L', 'U' and 'N' are deprecated and will be removed
            in a future version. Please use 'h', 'min', 's', 'ms', 'us', and 'ns'
            instead of 'H', 'T', 'S', 'L', 'U' and 'N'.

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

    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[ns]', freq=None)
    >>> pd.to_timedelta(np.arange(5), unit='d')
    TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'],
                   dtype='timedelta64[ns]', freq=None)
    )�ignore�raise�coercez5errors must be one of 'ignore', 'raise', or 'coerce'.r(z�errors='ignore' is deprecated and will raise in a future version. Use to_timedelta without passing `errors` and catch exceptions explicitly instead)�
stacklevel)rr )�index�name)rr r-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)rr
�
ValueError�warnings�warn�
FutureWarningr�
isinstancer�_convert_listlike�_values�_constructorr,r-r�np�ndarrayr.r�item_from_zerodimr
�getattr�	TypeError�str� _coerce_scalar_to_timedelta_type)rrr �valuess    r!r"r"Os]��N��#�D�)����%�
�2�2��P�Q�Q�
����
�
�
!�
�'�)�	
��{��
�	�C��	#�"�3�;�;�T�&�I������c�i�i�c�h�h��G�G�	�C��	"� ��4��S�X�X�N�N�	�C����	$����Q���#�#�C�(��	�c�	�w�s�F�A�6�!�;� ��4��?�?�	��f�a�	 �1�	$��P�
�	
��#�s��� 0��T�U�U�,�C�d�6�J�Jr$c�j�	t||�}|S#t$r|dk(r�|dk(r|cYSt}Y|SwxYw)z)Convert string 'r' to a timedelta object.r)r()r	r0r)�rrr �results    r!r>r>�sO��	��1�d�#���M�����W����X���H����M��s��2�2�2c�l�t|dd�}t|ttf�s|�3t	|d�st|�}tj|t��}n!t|t�r|jdk(r|S	t|||d��d}dd
lm
}|||��}|S#t$r|d	k(r|cYS�wxYw)z6Convert a list of objects to a timedelta index object.�dtypeN�	__array__)rD�mF)rr �copyrr()r)r-)r;r4�list�tuple�hasattrr8�array�objectr�kindrr0�pandasr)rrr r-�	arg_dtype�td64arrr�values        r!r5r5�s�����W�d�+�I��#��e�}�%��):�
�s�K�(��s�)�C��h�h�s�&�)��	�I�z�	*�y�~�~��/D��
�
�$�S�t�F��O�PQ�R��&��7��.�E��L��!���X���J�
��s�;B�B3�1B3)..)rzstr | float | timedeltar�UnitChoices | Noner r�returnr	)rrrrRr rrSr)rz(list | tuple | range | ArrayLike | IndexrrRr rrSr)Nr))rzQstr | int | float | timedelta | list | tuple | range | ArrayLike | Index | SeriesrrRr rrSz#Timedelta | TimedeltaIndex | Series)�nsr))rrRr r)Nr)N)rrRr rr-zHashable | None),�__doc__�
__future__r�typingrrr1�numpyr8�pandas._libsr�pandas._libs.tslibsrr�pandas._libs.tslibs.timedeltasr	r
r�pandas.util._exceptionsr�pandas.core.dtypes.commonr
�pandas.core.dtypes.dtypesr�pandas.core.dtypes.genericrr�pandas.core.arrays.timedeltasr�collections.abcr�datetimerr�pandas._typingrrrNrrrr"r>r5rr$r!�<module>rds����#��������
5�2�0��
=��(�"�:��
��
� #�#&��	 ��
��
!���	�
��
� #�#&��	��
��
!���	�
��
� #�#&��	1��
��
!���	�
��& $�#*�PK�	

�PK��PK�
!�PK�)�PK�hHO��
��0D��, $�#*� �	%�
�%�
!�%��	%r$

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists