pandas时间序列频率处理

《Python for Data Analysis》

生成日期范围

pd.data_range()

In [15]: rng = pd.date_range('2000-01-01', '2000-06-30', freq='BM')

In [16]: rng
Out[16]:
DatetimeIndex(['2000-01-31', '2000-02-29', '2000-03-31', '2000-04-28',
               '2000-05-31', '2000-06-30'],
              dtype='datetime64[ns]', freq='BM')

In [17]: Series(np.random.randn(6),index=rng)
Out[17]:
2000-01-31    0.586341
2000-02-29   -0.439679
2000-03-31    0.853946
2000-04-28   -0.740858
2000-05-31   -0.114699
2000-06-30   -0.529631
Freq: BM, dtype: float64

频率和日期偏移量

from pandas.tseries.offsets import Hour, Minute

移动(shifting)数据

ts.shift()

时期及其算术运算

Period类PeriodIndex类

pd.period_range():创建规则的时期范围。

In [20]: rng = pd.period_range('2000-01-01', '2000-06-30', freq='M')
    ...: rng
    ...:
Out[20]: PeriodIndex(['2000-01', '2000-02', '2000-03', '2000-04', '2000-05', '2000-06'], dtype='int64', freq='M')

构造函数:
pd.PeriodIndex()

时期的频率转换

ts.asfred()

Timestamp(时间戳) 和 Period(时期) 的 转换

In [21]: rng = pd.date_range('2000-01-01', '2000-06-30', freq='M')

In [22]: rng
Out[22]:
DatetimeIndex(['2000-01-31', '2000-02-29', '2000-03-31', '2000-04-30',
               '2000-05-31', '2000-06-30'],
              dtype='datetime64[ns]', freq='M')

In [23]: rng = pd.period_range('2000-01-01', '2000-06-30', freq='M')

In [24]: rng
Out[24]: PeriodIndex(['2000-01', '2000-02', '2000-03', '2000-04', '2000-05', '2000-06'], dtype='int64', freq='M')

to_period() to_timestamp()

In [25]: rng = pd.date_range('2000-01-01', periods=3, freq='M')
    ...: ts = pd.Series(np.random.randn(3), index=rng)
    ...: ts
    ...:
Out[25]:
2000-01-31    
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值