python - 如何在numpy向量中的每个元素之间应用linspace?
问题描述
我有以下 numpy 数组:
a = np.array([1,4,2])
我希望通过在数组中的每个元素之间将其除以 5 来创建一个新数组,a
以获得:
b = [1., 1.75, 2.5, 3.25, 4., 3.5, 3., 2.5, 2.]
我怎样才能在python中有效地做到这一点?
解决方案
您正在寻找一维数组的线性插值,可以使用NumPy.interp
.
s = 4 # number of intervals between two numbers
l = (a.size - 1) * s + 1 # total length after interpolation
np.interp(np.arange(l), np.arange(l, step=s), a) # interpolate
# array([1. , 1.75, 2.5 , 3.25, 4. , 3.5 , 3. , 2.5 , 2. ])
推荐阅读
- xamarin - 使用 Xamarin 的 Android 上的 IncompatibleClassChangeError
- javascript - 在 Algolia React Instantsearch 中异步加载一些数据
- sql - 查询性能调优
- ios - 如何快速更改页面控制点的大小和间距?
- jsonschema - 为什么 oneOf 在 jsonschema 中对我的模式不起作用?
- image - QPixmap 宽高返回 0
- javascript - 如何在显示开关组件之前等待 API 响应
- c - 在这个协议实现中应该使用哪种 C 类型?
- c# - 使用 using 块但仍使用 ObjectDisposedException
- jquery - 为什么需要在 Vue 中安装 jQuery?为什么我不能只使用导入 jquery.min.js 文件来使用 jQuery