LoginSignup
0
0

More than 5 years have passed since last update.

Rの時系列ライブラリxtsでつまづいた処理をPythonで

Last updated at Posted at 2017-12-13

xtsでいろいろ混在したカラムをapproxしたい場合

こちらで、ある種のバグに悩まされてできなかった処理をやむなくPythonでやりました。

before (R)

xts という時系列データフレームのうち、数値については、補完がうまくいきます。

filled <- na.approx(object = xts$numeric, xout = grid, rule = 2)
filled <- na.locf(object = as.zoo(xts$numeric), xout = grid, rule = 2)

といってもlocfについては、なぜかダウンキャストしないと動かないんですが。

文字列については以下のように書いたら行けそうですが、仕様上はありなのに、動作しません。

filled <- na.locf(object = xts$chr, xout = grid, rule = 2)

ワークアラウンドがいくつか書いて荒れましたが、文字列の場合とxoutを指定する場合には無理でした。

after (Python)

Python Pandas版です。難なく動きました。

filled = xts['numric'].interpolate()
filled = xts['numric'].ffill()
filled = xts['chr'].ffill()

Rのライブラリは細分化しすぎていて、一個一個のくせが強すぎる。。。
この手のETL処理はPythonにするに限りますね。

追記

以下にU-SQLで同様の処理を行う場合を上げておきます。
U-SQLでLOCF

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0