3
我有一個模塊以不一致的時間間隔收集統計信息。不幸的是,爲了在圖表中很好地使用它,我需要將x
值內插到一致的間隔。在Python中插入週期性數據
鑑於以下x
,y
雙,什麼是最Python的方法來做到這一點?
(1, 23), (2, 42), (3.5, 89), (5, 73), (7, 54), (8, 41), (8.5, 37), (9, 23)
我有一個模塊以不一致的時間間隔收集統計信息。不幸的是,爲了在圖表中很好地使用它,我需要將x
值內插到一致的間隔。在Python中插入週期性數據
鑑於以下x
,y
雙,什麼是最Python的方法來做到這一點?
(1, 23), (2, 42), (3.5, 89), (5, 73), (7, 54), (8, 41), (8.5, 37), (9, 23)
使用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)]
什麼是您預期的結果? – juliomalegria 2011-12-28 15:15:46
'y = mx + c'。您可以通過首先對其進行線性化來「歸一化」任何線。然後,因爲它是一條直線,所以沿着該線很容易沿着該線向下移動到您需要的正確的x/y值。 – Ben 2011-12-28 15:17:47