pythonデータ分析 第4回勉強会資料 10章

16
Python for Data Analysis かわの まこと

Upload: makoto-kawano

Post on 20-Jul-2015

177 views

Category:

Environment


5 download

TRANSCRIPT

Python for Data Analysisかわの まこと

扱うTime SeriesTimestamps• ある時間の瞬間

Fixed periods• 2007年1月や2010年1年間

Intervals• タイムスタンプで始めと終わりを示されている時間

Experiment or elapsed time• 特定の時間から計測される時間

2

日付と時間の型datetimeモジュール• マイクロ秒で日付と時間を保存する

timeモジュール,calenderモジュールも組み込みであるよ

3

Type Description

date グレゴリオ暦で年月日を保存

time 時間,分,秒,マイクロ秒を保存

datetime dateとtime両方保存

timedelta 2つのtimedeltaの差

文字列とdatetimeの変換datetime.strftime, strptime

dateutil.parse

pd.to_datetime

4

Type Description%Y 4桁の年%y 2桁の年%m 2桁の月[01, 12]%d 2桁の日[01, 31]%H 24時間[00, 23]%I 12時間[01, 12]%M 分[00, 59]%S 秒[00, 61]%w 曜日の整数表示[0(日曜), 6]%U 週[00, 53]最初の日曜が1週目%W 週[00, 53]最初の月曜が1週目%z UTCタイムゾーン%F %Y-%m-%dのショートカット%D %m/%d/%yのショートカット

Time Seriesの基礎最もベーシックなのは,TimeSeries(Seriesのサブクラス)

• 日付でインデックスされたSeries

• インデックスに年だけとかでもいける

• DataFrame型も同様にできる

5

データの範囲,頻度,移動大抵のタイムスタンプは一定じゃないはず• pd.data_range • shift • ts / ts.shift(1) -1 →変化率をみる

6

7

Alias Offset Type DescriptionD Day 日曜始まりB BusinessDay 月曜始まりH Hour 時間

T or min Minute 分S Second 秒

L or ms Milli ミリ秒(1/1000秒)U Micro マイクロ秒(1/1000000秒)M MonthEnd 月最後の日

BM BusinessMonthEnd 月最後の日(ビジネス)MS MonthBegin 月最初の日

BMS BusinessMonthBegin 月最初の日(ビジネス)W-MON, W-TUE, … Week 与えられた曜日

WOM-1MON, WOM-2MON, … WeekOfMonth 第◯週の曜日Q-JAN, Q-FEB, … QuaterEnd 後

BQ-JAN, BQ-FEB, … BusinessQuaterEnd はQS-JAN, QS-FEB, … QuaterBegin や

BQS-JAN, BQS-FEB, … BusinessQuaterBegin っA-JAN, A-FEB, … YearEnd て

BA-JAN, BA-FEB, … BusinessYearEnd みAS-JAN, AS-FEB, … YearBegin よ

BAS-JAN, BAS-FEB, … BusinessYearBegin う

タイムゾーンtz_convert, tz_localizeを使う

• tz_localizeはタイムゾーンを固定

• tz_convertは任意のタイムゾーンに変更

• 違うタイムゾーンでやってもUTCに統一される

8

期間と期間の計算日とか月とか四半期とか年とか

9

四半期について

10

その他の変換系timestampとperiodsの変換

• to_period()とto_timestamp()

配列からPeriodIndexへの変換

11

Resampling

12

Argument Descriptionfreq リサンプリングの間隔(文字列かDateOffset)例:’M’ ‘5min’ Second(15)

how=‘mean’ 値をまとめるときの関数.’mean’’ohlc’:平均,’first’’last’’median’’max’’min’axis=0 リサンプリングする方向

fill_mehthod=None アップサンプリングするとき補完挿入する方法,’ffill’’bfill’closed=‘right’ ダウンサンプリングするときどのインターバルの終わりを閉めるか’left’label=‘right’ ダウンサンプリングのとき集めたデータにラベリングどうするかloffset=None 時間調整をどうするか’-1s’やSecond(-1)→ラベルを1秒前に移動するlimit=None 前埋め,後埋めの時の最大で埋める数kind=None 集計する種類.’period’か’timestamp’

convention=None 低い間隔から高い間隔にする時どう変換するか

OHLC: Open High Low Close

ダウンサンプリング

13

アップサンプリングなどサンプリング時に一定のルールが有る• ダウンサンプリング:必ず元の間隔より小さくする

• アップサンプリング:必ず下の間隔より大きくする

14

Time Series Plotting

15

Moving Window Function

16

Function Descriptionrolling_count 移動カウント(一定間隔の数を数える)rolling_sum 移動合計

rolling_mean 移動平均rolling_median 移動中央値

rolling_var, rolling_std 移動分散,移動標準偏差rolling_skew, rolling_kurt 移動歪度,移動尖度rolling_min, rolling_max 移動最小値,移動最大値

rolling_quantile 移動分位点rolling_corr, rolling_cov 移動相関係数,移動共分散

rolling_apply 移動◯◯(配列の関数)ewma 指数加重移動平均

ewmvar, ewmstd 指数加重移動分散,指数加重移動標準偏差ewmcorr, ewmcov 指数加重移動相関関数,指数加重移動共分散