Pandas时间处理的一些小方法
一、以下有两种方式可以创建一个Timestamp对象:
1. Timestamp()的构造方法
import pandas as pd
from datetime import datetime as dt
p1=pd.Timestamp(2017,6,19)
p2=pd.Timestamp(dt(2017,6,19,hour=9,minute=13,second=45))
p3=pd.Timestamp("2017-6-19 9:13:45")
print("type of p1:",type(p1))
print(p1)
print("type of p2:",type(p2))
print(p2)
print("type of p3:",type(p3))
print(p3)
输出:
('type of p1:', <class 'pandas.tslib.Timestamp'>)
2017-06-19 00:00:00
('type of p2:', <class 'pandas.tslib.Timestamp'>)
2017-06-19 09:13:45
('type of p3:', <class 'pandas.tslib.Timestamp'>)
2017-06-19 09:13:45
2. to_datetime()方法
import pandas as pd
from datetime import datetime as dt
p4=pd.to_datetime("2017-6-19 9:13:45")
p5=pd.to_datetime(dt(2017,6,19,hour=9,minute=13,second=45))
print("type of p4:",type(p4))
print(p4)
print("type of p5:",type(p5))
print(p5)
输出:
('type of p4:', <class 'pandas.tslib.Timestamp'>)
2017-06-19 09:13:45
('type of p5:', <class 'pandas.tslib.Timestamp'>)
2017-06-19 09:13:45
datetime模块的对象有如下:
- timedelta
- date
- datetime
- time
- tzinfo
还包含以下两个常量:
- datetime.MINYEAR (它返回的是1)
- datetime.MAXYEAR(它返回的是9999)
二、datetime对象
它的构造方法:
class datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
year, month 和 day 参数是必须的,其他参数可选, 参数tzinfo表示可选的时区信息,一般我们也用不到。参数值的范围如下:
- MINYEAR <= year <= MAXYEAR
- 1 <= month <= 12
- 1 <= day <= number of days in the given month and year
- 0 <= hour < 24
- 0 <= minute < 60
- 0 <= second < 60
- 0 <= microsecond < 1000000
我们平常能用到的也就是年,月,日,时,分,秒,其他参数可以不用管。下面通过例子认识下datetime对象。
from datetime import datetime as dt
t=dt(2017,6,1,hour=13,minute=17,second=30)
print(type(t))
print(t)
输出:
<type 'datetime.datetime'>
2017-06-01 13:17:30
如果我们只传参数year, month, day,那么时间会默认变成00:00:00,看下面的代码:
from datetime import datetime as dt
t=dt(2017,6,1)
print(t)
输出:2017-06-01 00:00:00
下面我们看下datetime对象的几个方法:
datetime.today() 返回本地当前的时间
from datetime import datetime as dt
print(dt.today())
输出:2017-06-18 13:21:16.201000
datetime.now([tz]) 返回本地当前的日期和时间。如果可选的参数 tz 为 None 或者没有指定,就如同today()
from datetime import datetime as dt
print(dt.now())
输出:2017-06-18 13:23:33.536000
datetime对象还有两个属性:min和max
from datetime import datetime as dt
min_time=dt.min
max_time=dt.max
print(min_time)
print(max_time)
输出:
0001-01-01 00:00:00
9999-12-31 23:59:59.999999