Pandas(十一) 時間序列處理
目錄:
- 索引
- 過濾
- 生成日期範圍
- 頻率與偏移量
- 移動數據
文末大彩蛋!!!amazing
(1 ) 索引
from datetime import datetimeimport pandas as pdimport numpy as np# 指定index為datetime的listdata1 = [datetime(2017, 11, 11), datetime(2017, 11, 12), datetime(2017, 11, 26), datetime(2017, 11, 27), datetime(2017, 12, 12), datetime(2017, 12, 13)]data = pd.Series(np.random.randn(6), index=data1)print(data)print(type(data.index))
# pd.date_range()date2 = pd.date_range(2017-11-26, # 起始日期 periods=6, # 周期 freq=W-SAT) # 頻率print(date2)print(pd.Series(np.random.randn(6), index=date2))
# 索引位置print(data[0])
# 索引值print(data[datetime(2017, 11, 11)])
# 可以被解析的日期字元串print(data[2017/11/11])
# 按「年份」、「月份」索引print(time_s[2017-11])
# 切片操作print(time_s[2017-11-26:])
(2 ) 過濾
data.truncate(before=2017-11-26)
data.truncate(after=2017-11-26)
(3) 生成日期範圍
# 傳入開始、結束日期,默認生成的該時間段的時間點是按天計算的date = pd.date_range(2017/11/26, 2017/12/26)print(date)
# 只傳入開始或結束日期,還需要傳入時間段print(pd.date_range(start=2017/11/26, periods=10))
print(pd.date_range(end=2017/11/26, periods=10))
# 規範化時間戳 print(pd.date_range(start=2017/11/26 23:33:33, periods=10))print(pd.date_range(start=2017/11/26 23:33:33, periods=10, normalize=True))
(4 ) 頻率與偏移量
print(pd.date_range(2017/11/26, 2017/12/26, freq=3D))
# 偏移量通過加法連接sum_offset = pd.tseries.offsets.Week(3) + pd.tseries.offsets.Hour(23)print(sum_offset)print(pd.date_range(2017/11/26, 2017/12/26, freq=sum_offset))
(5) 移動數據
data = pd.Series(np.random.randn(4), index=pd.date_range(20171126, periods=4, freq=W-SAT))print(data)
print(data.shift(1))print(data.shift(-1))
文末彩蛋
- XGBoost調參指南(提供python代碼)
- 用Python做嶺回歸和LASSO
- Python中的梯度提升法(GBM)調參指南
- 數據探索指南
推薦閱讀:
※對抗樣本論文學習(3):Practical Black-Box Attacks against Machine Learning
※機器翻譯不可不知的Seq2Seq模型
※A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
※用Python實現線性回歸,8種方法哪個最高效?
※CapsNet入門系列番外:基於TensorFlow實現膠囊網路