使用插入的新值使python numpy数组的长度加倍
我有一个由5个数字组成的数组:使用插入的新值使python numpy数组的长度加倍,python,arrays,numpy,scipy,Python,Arrays,Numpy,Scipy,我有一个由5个数字组成的数组: A = [10, 20, 40, 80, 110] 我需要创建一个具有第10个长度数字的新数组 额外的数字可能是两个A之间的平均数 例如: 编辑 B=[10,15,20,30,40,60,80,95,110] 是否可以使用scipy或numpy函数?您并没有将其翻一番,因为您只知道介于两者之间的平均值。正如@LevLevitsky在评论中指出的那样,你也少了40个 import numpy as np A = np.array([10, 20, 40, 80,
A = [10, 20, 40, 80, 110]
我需要创建一个具有第10个长度数字的新数组
额外的数字可能是两个A之间的平均数
例如:
编辑
B=[10,15,20,30,40,60,80,95,110]
是否可以使用scipy或numpy函数?您并没有将其翻一番,因为您只知道介于两者之间的平均值。正如@LevLevitsky在评论中指出的那样,你也少了40个
import numpy as np
A = np.array([10, 20, 40, 80, 110])
avg = (A[:-1] + A[1:])/2
B = []
for x1, x2 in zip(A, avg):
B.append(x1)
B.append(x2)
B.append(A[-1])
B = np.array(B)
print B
给出:
[ 10 15 20 30 40 60 80 95 110]
使用:
使用:
屈服
[ 10. 15. 20. 30. 40. 60. 80. 95. 110.]
B中不应该有40个吗?如果n
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)
[ 10. 15. 20. 30. 40. 60. 80. 95. 110.]