我希望通过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数据并扩展数据以在某种意义上拥有更多的“控制点”,这样我就可以进行长期计算。
提前谢谢。
答案 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. ])
。