HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/pandas/core/tools/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/pandas/core/tools/__pycache__/timedeltas.cpython-36.pyc
3

���h��@srdZddlZddlmZddlmZmZddlm	Z	ddl
mZmZddl
mZdd	d
�Zddd
�Zddd�ZdS)z
timedelta support tools
�N)�NaT)�	Timedelta�parse_timedelta_unit)�is_list_like)�
ABCIndexClass�	ABCSeries)�sequence_to_td64ns�raisecCs|dk	rt|�}|dkr td��|dkr0td	��|dkr<|St|t�rjt|j||d
�}|j||j|jd�St|t	�r�t||||jd�St|t
j�r�|jd
kr�|j
�}n>t|�r�t|dd�dkr�t|||d
�St|dd�dkr�td��t|t��r|dk	�rtd��t|||d
�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.
    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' / 'T'
        * 'S' / 'seconds' / 'sec' / 'second'
        * 'ms' / 'milliseconds' / 'millisecond' / 'milli' / 'millis' / 'L'
        * 'us' / 'microseconds' / 'microsecond' / 'micro' / 'micros' / 'U'
        * 'ns' / 'nanoseconds' / 'nano' / 'nanos' / 'nanosecond' / 'N'

        .. versionchanged:: 1.1.0

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

    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
    -------
    timedelta64 or numpy.array of timedelta64
        Output type returned if parsing succeeded.

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

    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)
    N�ignorer	�coercez5errors must be one of 'ignore', 'raise', or 'coerce'}�Y�y�MzqUnits 'M', 'Y', and 'y' are no longer supported, as they do not represent unambiguous timedelta values durations.)�unit�errors)�index�name)rrrr�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	r>r
rr)r�
ValueError�
isinstancer�_convert_listlikeZ_valuesZ_constructorrrr�npZndarrayr�itemr�getattr�	TypeError�str� _coerce_scalar_to_timedelta_type)�argrr�values�r �>/tmp/pip-build-5_djhm0z/pandas/pandas/core/tools/timedeltas.py�to_timedeltas0I


r"�nscCsDyt||�}Wn0tk
r>|dkr*�n|dkr6|St}YnX|S)z)Convert string 'r' to a timedelta object.r	r
)rrr)�rrr�resultr r r!r}s
rc
Cs�t|ttf�st|d�r,tjt|�td�}yt|||dd�d}Wn"tk
rf|dkr`|S�YnXddl	m
}||d|d	�}|S)
z6Convert a list of objects to a timedelta index object.�dtype)r&F)rr�copyrr
)�TimedeltaIndexr#)rr)r�list�tuple�hasattrr�array�objectrrZpandasr()rrrr�valuer(r r r!r�s	r)Nr	)r#r	)Nr	N)�__doc__ZnumpyrZpandas._libs.tslibsrZpandas._libs.tslibs.timedeltasrrZpandas.core.dtypes.commonrZpandas.core.dtypes.genericrrZpandas.core.arrays.timedeltasrr"rrr r r r!�<module>s
m