時系列データを結合(測定値の位置合わせ)

Numpy: How to best align two sorted arrays? – StackOverflow

データ長を合わせて,欠損値を前の値で補間する様な処理.

import numpy as np


def align_arr(*arr):
    sarr = np.union1d(*arr)
    return [np.maximum.accumulate(np.isin(sarr, a)*sarr) for a in arr]


a = np.array([0, 10, 12, 16, 25, 29])
b = np.array([0,  5, 10, 15, 20, 25, 30])
# [0,0,10,12,12,16,16,25,29,29]
# [0,5,10,10,15,15,20,25,25,30]
align_arr(a, b)
[array([ 0,  0, 10, 12, 12, 16, 16, 25, 29, 29]),
 array([ 0,  5, 10, 10, 15, 15, 20, 25, 25, 30])]
広告
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください