2011-12-28 17 views
3

私は一貫性のない時間間隔で統計情報を収集するモジュールを持っています。残念ながら、それをグラフでうまく使用するには、一定の間隔で補間された値が必要です(x)。Pythonで周期的なデータを補間する

x,yのペアを指定すると、これを行う最もPythonの方法は何ですか?

(1, 23), (2, 42), (3.5, 89), (5, 73), (7, 54), (8, 41), (8.5, 37), (9, 23) 
+0

あなたの期待される結果は何ですか? – juliomalegria

+1

'y = mx + c'。最初に直線化することで、どの線も「正規化」することができます。それから、それは直線であるので、ラインに沿って必要な正しいx/y値にそのラインを移動するのは簡単です。 – Ben

答えて

7

使用numpy.interp

import numpy as np 

a = np.array([(1, 23), (2, 42), (3.5, 89), (5, 73), (7, 54), (8, 41), (8.5, 37), (9, 23)]) 

x = np.arange(1, 10) # target x values 

b = zip(x, np.interp(x, a[:,0], a[:,1])) 

# b == [(1, 23.0), 
#  (2, 42.0), 
#  (3, 73.333333333333329), 
#  (4, 83.666666666666671), 
#  (5, 73.0), 
#  (6, 63.5), 
#  (7, 54.0), 
#  (8, 41.0), 
#  (9, 23.0)] 
関連する問題