我有一个 numpy array([1.0, 2.0, 3.0])
,在我的问题中,这实际上是一维网格。我想要做的是细化网格以获得此:array([0.8, 0.9, 1, 1.1, 1.2, 1.8, 1.9, 2, 2.1, 2.2, 2.8, 2.9, 3, 3.1, 3.2,])
.
实际的数组很大,这个过程耗费了很多时间。如何在 python 中快速执行此操作(也许是矢量化)?
最佳答案
这是一个矢量化的方法-
(a[:,None] + np.arange(-0.2,0.3,0.1)).ravel() # a is input array
sample 运行-
In [15]: a = np.array([1.0, 2.0, 3.0]) # Input array
In [16]: (a[:,None] + np.arange(-0.2,0.3,0.1)).ravel()
Out[16]:
array([ 0.8, 0.9, 1. , 1.1, 1.2, 1.8, 1.9, 2. , 2.1, 2.2, 2.8,
2.9, 3. , 3.1, 3.2])
关于python - 如何在 python 中快速细化网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42328934/