如何从设置值创建均匀间隔的Numpy数组

时间:2016-05-08 03:24:50

标签: python arrays numpy scipy

我希望通过numpy创建一个数组,该数组根据给定数组中的值从间隔到间隔生成等间距值。

我明白有:

np.linspace(min, max, num_elements)

但我想要的是想象你有一组价值观:

arr = np.array([1, 2, 4, 6, 7, 8, 12, 10])

当我这样做时:

 #some numpy function
arr = np.somefunction(arr, 16)

>>>arr
>>> array([1, 1.12, 2, 2.5, 4, 4.5, etc...)] 
# new array with 16 elements including all the numbers from previous 
# array with generated numbers to 'evenly space them out'

所以我正在寻找与linspace()相同的功能,但是接受数组中的所有元素并创建另一个具有所需元素的数组,但是与数组中的设置值间隔均匀。我希望我在这方面做得很清楚......

我试图用这个设置实际做的是获取现有的x,y数据并扩展数据以在某种意义上拥有更多的“控制点”,这样我就可以进行长期计算。

提前谢谢。

1 个答案:

答案 0 :(得分:4)

$('.ball_2:last').on('click', function(){$(this).remove());});

以上是对0.5个间距的8个数据点进行简单的线性插值,总共15个点(由于栅栏):

xp = np.arange(len(arr)) # X coordinates of arr
targets = np.arange(0, len(arr)-0.5, 0.5) # X coordinates desired
np.interp(targets, xp, arr)

您可以在numpy.interp中使用一些其他选项来调整行为。如果需要,您还可以通过不同方式生成array([ 1. , 1.5, 2. , 3. , 4. , 5. , 6. , 6.5, 7. , 7.5, 8. , 10. , 12. , 11. , 10. ])