pandas中时间序列计算。
datetime.datetime() 格式的可以相加减;但是datetime.time() 格式的不能相加减。
在网上找寻之后,有人说可以换成timestamp()格式可以进行加减计算,但是我不会转换。只能将datetime.time()格式转化为datatime.datetime()格式了。
这里会使用第三方库 dateutil。
import pandas as pd
import datetime,time
from dateutil import parser
la = pd.read_excel("C:/Users/xujinhua/Desktop/the USA data2/a.xlsx",names=['data','hour','ap','detection','mac'],header=None)
print(la.head(5))
先看一下数据的前5行
现在想要对hour列进行计算。
可以看到hour列都是时间格式,程序读出来是datetime.time()格式。由于此格式不能进行加减计算,所以要对其进行一些转化。此处有2种方法:
1.将datetime.time()变为timestamp()即时间戳 ;
2.将datetime.time()变为datetime.datetime()格式
对于第一种方法,我没弄懂;这里给出第二种方法的程序
t1=str(la.loc[1,'hour']) #找出hour第1行的值,此值为datetime.time格式,通过str()将其变为字符串。
print(t1)
tt1=parser.parse(t1)
print(tt1)
#tt1.type() tt1是datetime.datetime格式的。
t2 = str(la.loc[2,'hour'])
tt2= parser.parse(t2)
print(tt2)
print((tt2 - tt1).seconds) #结果以秒来表示。
结果如下
参考资料:
1. Python datetime模块详解、示例:https://blog.csdn.net/cmzsteven/article/details/64906245
2.Python日期时间的运算:https://blog.csdn.net/abby1559/article/details/79985289
3.python 两个 datetime.time怎么相加减?:https://www.oschina.net/question/3871145_2280580