在pandans中,时间的计算以及转换,有它自己独有一套API.对时间的数据类型也很讲究。比如打印出来都一样,可能它是字符串类型,也可能是pandas.tslib.Timestamp类型。字符串中,你没法去比较时间的大小,也没法做时间的计算。两个时间差多少小时,多少分这些。往往,一般都是需要先转化。将字符串转换成Timestamp类型。再做计算或比较。

定义字符串的时间格式也很重要。常见的格式有:”2016-11-04 18:00:00″或”2016/11/04 18:00:00″。还可以这样”2016-11/04 18:00:00″。对于这些字符串,我们通过padans.to_datetime(t)方法转换成Timestamp类型。

Timestamp的小计算。比如我求某个时间的前几天或后几天,可以这样。

t = "2016-11/04 18:00:00"
t = pd.to_datetime(t) + timedelta(days=+1)
print t
t = pd.to_datetime(t) + timedelta(days=-2)
print t
print type(t)

#输出
2016-11-05 18:00:00
2016-11-03 18:00:00
<class 'pandas.tslib.Timestamp'>

将Timestamp转换成字符串类型,只需要调用str方法就可以了。比如: str(t)

还有其格式化函数strftime。eg:df.strftime(“%Y-%m-%d”),按年月日的方式输出。比如输出:2016-11-01