
- Python Pandas - Home
- Python Pandas - Introduction
- Python Pandas - Environment Setup
- Python Pandas - Basics
- Python Pandas - Introduction to Data Structures
- Python Pandas - Index Objects
- Python Pandas - Panel
- Python Pandas - Basic Functionality
- Python Pandas - Indexing & Selecting Data
- Python Pandas - Series
- Python Pandas - Series
- Python Pandas - Slicing a Series Object
- Python Pandas - Attributes of a Series Object
- Python Pandas - Arithmetic Operations on Series Object
- Python Pandas - Converting Series to Other Objects
- Python Pandas - DataFrame
- Python Pandas - DataFrame
- Python Pandas - Accessing DataFrame
- Python Pandas - Slicing a DataFrame Object
- Python Pandas - Modifying DataFrame
- Python Pandas - Removing Rows from a DataFrame
- Python Pandas - Arithmetic Operations on DataFrame
- Python Pandas - IO Tools
- Python Pandas - IO Tools
- Python Pandas - Working with CSV Format
- Python Pandas - Reading & Writing JSON Files
- Python Pandas - Reading Data from an Excel File
- Python Pandas - Writing Data to Excel Files
- Python Pandas - Working with HTML Data
- Python Pandas - Clipboard
- Python Pandas - Working with HDF5 Format
- Python Pandas - Comparison with SQL
- Python Pandas - Data Handling
- Python Pandas - Sorting
- Python Pandas - Reindexing
- Python Pandas - Iteration
- Python Pandas - Concatenation
- Python Pandas - Statistical Functions
- Python Pandas - Descriptive Statistics
- Python Pandas - Working with Text Data
- Python Pandas - Function Application
- Python Pandas - Options & Customization
- Python Pandas - Window Functions
- Python Pandas - Aggregations
- Python Pandas - Merging/Joining
- Python Pandas - MultiIndex
- Python Pandas - Basics of MultiIndex
- Python Pandas - Indexing with MultiIndex
- Python Pandas - Advanced Reindexing with MultiIndex
- Python Pandas - Renaming MultiIndex Labels
- Python Pandas - Sorting a MultiIndex
- Python Pandas - Binary Operations
- Python Pandas - Binary Comparison Operations
- Python Pandas - Boolean Indexing
- Python Pandas - Boolean Masking
- Python Pandas - Data Reshaping & Pivoting
- Python Pandas - Pivoting
- Python Pandas - Stacking & Unstacking
- Python Pandas - Melting
- Python Pandas - Computing Dummy Variables
- Python Pandas - Categorical Data
- Python Pandas - Categorical Data
- Python Pandas - Ordering & Sorting Categorical Data
- Python Pandas - Comparing Categorical Data
- Python Pandas - Handling Missing Data
- Python Pandas - Missing Data
- Python Pandas - Filling Missing Data
- Python Pandas - Interpolation of Missing Values
- Python Pandas - Dropping Missing Data
- Python Pandas - Calculations with Missing Data
- Python Pandas - Handling Duplicates
- Python Pandas - Duplicated Data
- Python Pandas - Counting & Retrieving Unique Elements
- Python Pandas - Duplicated Labels
- Python Pandas - Grouping & Aggregation
- Python Pandas - GroupBy
- Python Pandas - Time-series Data
- Python Pandas - Date Functionality
- Python Pandas - Timedelta
- Python Pandas - Sparse Data Structures
- Python Pandas - Sparse Data
- Python Pandas - Visualization
- Python Pandas - Visualization
- Python Pandas - Additional Concepts
- Python Pandas - Caveats & Gotchas
Python Pandas - Timedelta
Timedelta in Pandas represents a duration, or the difference between two dates or times, expressed in units such as days, hours, minutes, or seconds. They are useful for performing arithmetic operations on datetime objects and can be both positive and negative duration's.
Pandas Timedelta Class
The pandas.Timedelta class is a powerful tool to represent a duration or the difference between two dates or times. It is equivalent of Python's datetime.timedelta object and can be used interchangeably in most cases.
Syntax
Following is the syntax of the class −
class pandas.Timedelta(value=<object object>, unit=None, **kwargs)
Where,
value − Accepts the any of the following time object: Timedelta, timedelta, np.timedelta64, str, or int.
unit − It is a optional parameter specifies the unit of the input if the input is an integer. Supported units include: 'W', 'D', 'days', 'hours', 'minutes', 'seconds', 'milliseconds', 'microseconds', 'nanoseconds'.
**kwargs − Accepts keyword arguments like days, seconds, microseconds, milliseconds, minutes, hours, and weeks.
Example
Following is the basic example of creating the Timedelta object.
import pandas as pd # Initialize Timedelta with value and unit td = pd.Timedelta(1, "d") print(td) print('Data Type of the Resultant Object:',type(td))
Following is the output of the above code −
1 days 00:00:00 Data Type of the Resultant Object: <class 'pandas._libs.tslibs.timedeltas.Timedelta'>
Also, you can create Timedelta objects in various ways, such as by passing a string, integer, or by using data offsets. Additionally, Pandas provides a top-level function to_timedelta() to convert scalar, array, list, or series into Timedelta type.
Creating Timedelta with a String
You can create a Timedelta object by passing a string that represents a duration.
Example
Here is the example of creating the Timedelta object using the string.
import pandas as pd print(pd.Timedelta('2 days 2 hours 15 minutes 30 seconds'))
Its output is as follows −
2 days 02:15:30
Creating Timedelta with an Integer
By passing an integer value with the unit, an argument creates a Timedelta object.
Example
This example converts an integer into the Timedelta object.
import pandas as pd print(pd.Timedelta(6,unit='h'))
Its output is as follows −
0 days 06:00:00
Creating Timedelta with Data Offsets
Data offsets such as - weeks, days, hours, minutes, seconds, milliseconds, microseconds, nanoseconds can also be used in construction.
Example
Here is the example −
import pandas as pd print(pd.Timedelta(days=2))
Its output is as follows −
Creating Timedelta with an Integer 2 days 00:00:00
Using pd.to_timedelta() Function
The pd.to_timedelta function converts a scalar, array, list, or series from a recognized timedelta format or value into a Timedelta type. It will construct a Series if the input is a Series, a scalar if the input is scalar-like, or a TimedeltaIndex otherwise.
import pandas as pd print(pd.Timedelta(days=2))
Its output is as follows −
2 days 00:00:00
Timedelta Operations
You can perform arithmetic operations on Series or DataFrames containing datetime64[ns] and timedelta64[ns] data types.
Example − Addition Operation
Let us now create a DataFrame with Timedelta and datetime objects and perform Addition operation on it −
import pandas as pd s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D')) td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ]) df = pd.DataFrame(dict(A = s, B = td)) df['C']=df['A']+df['B'] print(df)
Its output is as follows −
A B C 0 2012-01-01 0 days 2012-01-01 1 2012-01-02 1 days 2012-01-03 2 2012-01-03 2 days 2012-01-05
Example − Subtraction Operation
Here is the example of subtracting the Timedelta values.
import pandas as pd s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D')) td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ]) df = pd.DataFrame(dict(A = s, B = td)) df['C']=df['A']+df['B'] df['D']=df['C']-df['B'] print(df)
Its output is as follows −
A B C D 0 2012-01-01 0 days 2012-01-01 2012-01-01 1 2012-01-02 1 days 2012-01-03 2012-01-04 2 2012-01-03 2 days 2012-01-05 2012-01-07
Timedelta Class Properties and Methods
The Timedelta object provides various properties and methods that are useful in date-time manipulation.
Properties
Following are the list of attributes of the Timedelta object.
Sr.No. | Property & Description |
---|---|
1 | Timedelta.asm8 Return a numpy timedelta64 array scalar view. |
2 | Timedelta.components Return a components namedtuple-like. |
3 | Timedelta.days Returns the days of the timedelta. |
4 | Timedelta.max Return the maximum timedelta object. |
5 | Timedelta.microseconds Return the microseconds of the timedelta. |
6 | Timedelta.min Return the minimum timedelta object. |
7 | Timedelta.nanoseconds Return the number of nanoseconds (n), where 0 <= n < 1 microsecond. |
8 | Timedelta.resolution Return the resolution of the timedelta. |
9 | Timedelta.seconds Return the total hours, minutes, and seconds of the timedelta as seconds. |
10 | Timedelta.unit Return the unit of the timedelta. |
11 | Timedelta.value Return the underlying value of the timedelta in nanoseconds. |
Methods
In the following table you can found the list of method of the Timedelta object.
Sr.No. | Method & Description |
---|---|
1 | Timedelta.as_unit(unit[, round_ok]) Convert the underlying int64 representation to the given unit. |
2 | Timedelta.ceil(freq) Return a new Timedelta ceiled to this resolution. |
3 | Timedelta.floor(freq) Return a new Timedelta floored to this resolution. |
4 | Timedelta.isoformat() Format the Timedelta as ISO 8601 Duration. |
5 | Timedelta.round(freq) Round the Timedelta to the specified resolution. |
6 | Timedelta.to_pytimedelta() Convert a pandas Timedelta object into a python datetime.timedelta object. |
7 | Timedelta.to_timedelta64() Return a numpy.timedelta64 object with 'ns' precision. |
8 | Timedelta.to_numpy([dtype, copy]) Convert the Timedelta to a NumPy timedelta64. |
9 | Timedelta.total_seconds() Return the total seconds in the duration. |
10 | Timedelta.view(dtype) Array view compatibility. |