Convert Time Difference to Hours and Minutes in Pandas
Calculating time difference between two dates is a common task in data analytics. However, when working with Pandas, the default time difference calculation in df['diff'] = df['fromdate'] - df['todate'] can result in days, even when the time difference is less than 24 hours. This can be inconvenient if you need the results in hours and minutes.
To convert the time difference to hours and minutes, we can use the astype() method on the DatetimeIndex object returned by the subtraction operation. This method allows us to convert the difference to a specific time unit.
Here's how you can do it:
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) df['diff'] = df['fromdate'] - df['todate'] # Convert time difference to hours df['hours'] = df['diff'].astype('timedelta64[h]') # Convert time difference to minutes df['minutes'] = (df['diff'] - df['hours']).astype('timedelta64[m]')
This will convert the time difference to hours and minutes, resulting in a DataFrame that looks like this:
todate fromdate diff hours minutes 0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 2 days 10:38:09.820 58 38 1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540 0 days 03:41:04.300 3 41 2 2014-01-23 10:07:47.660 2014-01-23 18:50:41.420 0 days 08:42:53.760 8 42
The above is the detailed content of How to Convert Pandas Time Differences into Hours and Minutes?. For more information, please follow other related articles on the PHP Chinese website!