python:pandas计算时间差

Python010

python:pandas计算时间差,第1张

import pandas as pd

方法一:

先利用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去掉。