use*_*255 8 python arrays numpy scipy
我有一个5个数字的数组:
A = [10, 20, 40, 80, 110]
Run Code Online (Sandbox Code Playgroud)
我需要创建一个长度为10的新数组.
额外的数字可以是两个#之间的平均数A.
例如:编辑B = [10,15,20,30,40,60,80,95,110]
是否可以使用scipy或numpy功能?
使用numpy.interp:
import numpy as np
Y = [10, 20, 40, 80, 110]
N = len(Y)
X = np.arange(0, 2*N, 2)
X_new = np.arange(2*N-1) # Where you want to interpolate
Y_new = np.interp(X_new, X, Y)
print(Y_new)
Run Code Online (Sandbox Code Playgroud)
产量
[ 10. 15. 20. 30. 40. 60. 80. 95. 110.]
Run Code Online (Sandbox Code Playgroud)
使用这个答案:
In [1]: import numpy as np
In [2]: a = np.array([10, 20, 40, 80, 110])
In [3]: b = a[:-1] + np.diff(a)/2
In [4]: c = np.empty(2 * a.size -1)
In [5]: c[::2] = a
In [6]: c[1::2] = b
In [7]: c
Out[7]: array([ 10., 15., 20., 30., 40., 60., 80., 95., 110.])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2901 次 |
| 最近记录: |