数据处理:pandas中时间序列、数据可视化

第一部分:pandas时间序列

一.python中的时间日期

datetime模块和timedelta模块
1.datetime(2016, 3, 20, 8, 30).strftime('%Y-%m-%d %H:%M:%S')----strftime从time格式转化成字符串str格式,strftime()括号内为具体的字符串形式。
等价于datetime.strftime(datetime(2016, 3, 20, 8, 30),'%Y-%m-%d %H:%M:%S')
2.datetime.strptime('2016-03-20 09:30', '%Y-%m-%d %H:%M')----strptime从字符串str格式转化成time格式,括号内为待转换的字符串形式。

二.pandas中的时间日期

1.固定时刻timestamp:pandas会将datetime转换成timestamp形式。
日期序列:利用data_range()函数
1)pd.date_range('20160320', '20160331')----给出范围
2)pd.date_range(start='20160320', periods=10)----给出起始日期和周期
3)pd.date_range(start='20160320', periods=10, freq='4H')----给出起始、周期和时间频率
2.固定时期period:
1)p1 = pd.Period(2016, freq='M')----默认.Period()表示以年为周期
时期序列:利用period_range()函数
2)时期的频率转换:asfreq()
A-DEC: 以12月份作为结束的时期
A-NOV: 以11月份作为结束的时期
Q-DEC: 以12月份作为结束的季度时期
例1:将以年为单位、十二月为结尾的日期转换成以月为单位的时期

p = pd.Period('2016', freq='A-DEC')
p.asfreq('M', how='start'
out[]:Period('2016-01', 'M')
p.asfreq('M', how='end')
out[]:Period('2016-12', 'M')

例2:季度时期的表示:
p = pd.Period('2016Q4', 'Q-JAN')----表示季度时期,以一月份为结尾,2016Q4指的是2015年11月–2016年1月
例3:

# 获取该季度倒数第二个工作日下午4点的时间戳
p4pm = (p.asfreq('B', how='end') - 1).asfreq('T', 'start') + 16 * 60

3.timestamp和period转换:to_period()和to_timestamp

ts = pd.Series(np.random.randn(5), index = pd.date_range('2016-12-29', periods=5, freq='D'))
ts
out[]:
2016-12-29   -0.110462
2016-12-30   -0.265792
2016-12-31   -0.382456
2017-01-01   -0.036111
2017-01-02   -1.029658
Freq: D, dtype: float64

pts = ts.to_period(freq=
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值