Home >Backend Development >Python Tutorial >How to Calculate the Time Difference Between Two Pandas Columns in Hours and Minutes Only?
In data analysis, it's often necessary to calculate the time difference between two dates or time stamps. Pandas, a popular data analysis library in Python, provides convenient methods for such calculations. However, when the time difference exceeds 24 hours, the result may include days as a component. This article addresses how to convert this result to only show hours and minutes.
Consider the following example dataframe with two columns, fromdate and todate:
import pandas as pd data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'), pd.Timestamp('2014-01-27 11:57:18.240000'), pd.Timestamp('2014-01-23 10:07:47.660000')], 'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'), pd.Timestamp('2014-01-27 15:38:22.540000'), pd.Timestamp('2014-01-23 18:50:41.420000')]} df = pd.DataFrame(data)
To calculate the difference between the two dates, we can use the - operator:
df['diff'] = df['fromdate'] - df['todate']
This operation results in the diff column, which contains datetime.timedelta objects. However, these objects may include days as a component, as seen in the following output:
todate fromdate diff 0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 2 days 10:38:09.820000 1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540 0 days 03:41:04.300000 2 2014-01-23 10:07:47.660 2014-01-23 18:50:41.420 0 days 08:42:53.760000
To convert this result to only hours and minutes, we can utilize the astype() method with the 'timedelta64[h]' argument:
(df.fr-df.to).astype('timedelta64[h]')
This code will convert the time differences to hours, yielding the following output:
0 58 1 3 2 8 dtype: float64
By applying this method, we can obtain the time difference between two dates or time stamps in hours and minutes, regardless of whether the difference exceeds 24 hours or not.
The above is the detailed content of How to Calculate the Time Difference Between Two Pandas Columns in Hours and Minutes Only?. For more information, please follow other related articles on the PHP Chinese website!