Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

Masutani
データサイエンティストをしています。地理空間情報系の処理を主に扱っています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away