0.
时间戳 timestamp 指一个特定的时刻
固定时期 period 指一段时间
时间间隔 intercal 由起始时间戳和结束时间戳表示
常用的模块有 datetime time calendar
1.
d是这两个时间戳的间隔,然后一共差了4k多天零7w多秒
timedelta(日,秒,毫秒) 可以跟日期做加减法,自身也可以做乘除法
2.
这是把时间戳换成str的两个方法
从字符串改到datetime格式,教材上说两个方法 都不行
一个是v='2011-1-1'
dt.datetime.strptime(v,'格式化格式')
但这个strptime怎么用不了。。。
一个是pandas附带的dateutil包中的parser.parse
这个能自动解析时间格式 不用上边那个格式化格式了就 比较方便
他有个dayfirst参数 如果=True 那么读取str时候就是日在月前边
s是前边一个date
然后这个pd.to_datetime 可以做一个时间戳的索引
3.
pd.Series和时间戳的联系是这样的
也可以分组进行查看
这一开始弄错了 然后发现这个date_range(频率是1000就代表了1000天)
也可以切片
假如时间不是连续的也可以切
如果他是df的索引 一样可以切
如果日期有重复的
首先想知道有没有重复
ts.index.is_unique
返回的False就是重复的
可以用groupby合并
groupby的参数要有一个level=0
4.
一般的时间序列并不是规整的
但是要对这些不规整的数据进行定同样时段的分析
就像是每天每月每小时
4.5
pd.date_range(起始时间,结束时间,period=多长时间)
这三个要有两个
pd.date_range(起始时间,结束时间,period=多长时间,freq=‘BM’)
BM是月底
date_range会保留起始和结束时间戳
5.
有一个东西叫频率
像是每天 每小时 这些是基础频率
然后每三天 就是3*D 这个叫偏移量
from pandas.tseries.offsets import Hour,Minute
Hour(4) 就代表了四个小时 会输出 <4*Hour>
但是一般不这么做
一般就 ‘4H’ 就妥了
基础频率前边放一个整数 就可以创建倍数了
Hour(2)+Minute(30) 会输出<150*Minutes>
像是‘2h3min’也可以
6.
WOM日期是一个freq
他可以freq=‘WOM-3FRI’ 从起始到结束的每月第三个星期五
7.
可以通过shift函数将数据沿着时间轴前进或者后退
这其实是Series和df都有的
ts.shift(2) 上边的数据向下挪2个位置 上边空的就变成了NaN
ts.shift(-2) 下边的数据向上挪2个位置 下边空的就变成了NaN
ts.shift(2,freq='M') 数据不动 时间轴上的时间会改变
8.