Pandas(十一) 時間序列處理

目錄:

  1. 索引
  2. 過濾
  3. 生成日期範圍
  4. 頻率與偏移量
  5. 移動數據

文末大彩蛋!!!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))

文末彩蛋

  1. XGBoost調參指南(提供python代碼)
  2. 用Python做嶺回歸和LASSO
  3. Python中的梯度提升法(GBM)調參指南
  4. 數據探索指南

推薦閱讀:

對抗樣本論文學習(3):Practical Black-Box Attacks against Machine Learning
機器翻譯不可不知的Seq2Seq模型
A Hierarchical Model of Reviews for Aspect-based Sentiment Analysis
用Python實現線性回歸,8種方法哪個最高效?
CapsNet入門系列番外:基於TensorFlow實現膠囊網路

TAG:數據挖掘 | 數據分析 | 機器學習 |