LoginSignup
3
4

More than 5 years have passed since last update.

[Tips]1階差分の計算と逆変換 [python/numpy]

Last updated at Posted at 2017-06-04

調べてみてnumpyの関数で簡単に実現できることがわかったので、そのメモ。

 import numpy as np

"""
1階差分
"""
x = np.array(range(10, 100)) # 適当なベクトル

x0 = x[0] # 初期値を保存
x_diff1 = np.diff(x)

"""
逆変換
"""
tmp = np.concatenate(([x0], x_diff1))
# または以下
# tmp = np.r_[x[0],x_diff1]
x_ = np.cumsum(tmp)

"""
チェック
"""
np.all(x == x_)

だいたいのことはnumpyの関数がなんとかしてくれますね。未だに馴染めないけど徐々に覚えていきたい。

雑記

この前処理も含めてstatsmodelsをsckit-learnのpipelineに流して綺麗に実装しようと思っているけど、微妙にインタフェースが合わないのが歯がゆい。
pipelineに乗せることで、ロジックの変更(パラメータ変更や実行順序の入れ替え、手法そのものの変更とか)に柔軟性が出ることを期待してるのですが、すんなりとは行かないものか。

楽なやり方があれば知りたい。。

参考

3
4
2

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
3
4