方法一:
先利用to_datetime转换为时间格式,tm列的数据形式为'yyyy-MM-dd HH:mm:ss'
df['tm_1'] = pd.to_datetime(df['tm_1'])
df['tm_2'] = pd.to_datetime(df['tm_2'])
利用".dt.seconds"转换为秒,除以相对于的间隔数得到分钟、小时等
df['diff_time'] = (df['tm_1'] - df['tm_2']).dt.seconds/3600
利用round函数可进行四舍五入
df['diff_time'] = round(df['diff_time'])
方法二,日期相减变为小时;变为天的话将h替换为D即可:
df['diff_time'] = (df['tm_1'] - df['tm_2']).values/np.timedelta64(1, 'h')
在Python编程中,使用datetime模块计算两个时间的差:1
2
3
4
5
6
7
8
>>>import datetime
>>>d1=datetime.datetime(2015,7,5)
>>>d2=datetime.datetime(2005,7,4)
>>>(d1-d2).seconds
//结果86400s
# 计算两个时间的间隔天数
# 注意:输入月份和天时,不能输入08,09等,会被识别为 8 进制而出错!(8进制是不超过07的)
# 解决办法:要把月份和天前面的0去掉。