我有一个以不一致的时间间隔收集统计信息的模块。不幸的是,为了在图形中很好地使用它,我需要将 x 值插入到一致的间隔中。

鉴于以下 xy 对,最 Pythonic 的方法是什么?

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

关于python - 在 Python 中插入周期性数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8657612/

10-13 07:00