python - 使用内插新值将 python numpy 数组的长度加倍

标签 python arrays numpy scipy

我有一个包含 5 个数字的数组:

A = [10, 20, 40, 80, 110]

我需要创建一个长度为 10n 的新数组。

额外的数字可以是 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)

产量

[  10.   15.   20.   30.   40.   60.   80.   95.  110.]

关于python - 使用内插新值将 python numpy 数组的长度加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16388110/

相关文章:

python - 为什么 sys.getrefcount 会给出巨大的值?

Java HashMap<Integer, Integer> 与 int[]

javascript - 将数字转换为反转的数字数组

numpy - 如何在 PyTorch 中选择二维索引?

python - 使用创建的每一行的频率从 numpy 中的矩阵中提取唯一行

python - 将最左边的设置位转换为右侧交替位的位操作?

python - pandas 将标题与行进行比较并删除重复的行

python - 使用类似的语法将使用 MATLAB 创建的矩阵转换为 Numpy 数组

python - 数据框中列上的 .map 出现 NaN 错误

Javascript 从现有的属性值拆分创建数组