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])]