【发布时间】:2022-10-03 08:36:47
【问题描述】:
我想通过在给定上采样因子 \'k\' 的元素之间添加 \'k-1\' 零来上采样给定的一维数组。k=2A = np.array([1,2,3,4,5])B = np.insert(A,np.arange(1,len(A)), values=np.zeros(k-1))
上面的代码适用于 k=2。Output: [1 0 2 0 3 0 4 0 5]
k=3A = np.array([1,2,3,4,5])B = np.insert(A,np.arange(1,len(A)), values=np.zeros(k-1))
对于 k=3,它给我一个错误。
我想要的输出是 k-1,即元素之间有 3-1 = 2 个零。
Output: [1,0,0,2,0,0,3,0,0,4,0,0,5]
我想在一维数组的元素之间添加 k-1 个零。
ValueError Traceback (most recent call last)
Cell In [98], line 4
1 k = 3
3 A = np.array([1,2,3,4,5])
----> 4 B = np.insert(A, np.arange(1,len(A)), values=np.zeros(k-1))
6 print(k,\'\\n\')
7 print(A,\'\\n\')
File <__array_function__ internals>:180, in insert(*args, **kwargs)
File c:\\Users\\Naruto\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\numpy\\lib\\function_base.py:5325, in insert(arr, obj, values, axis)
5323 slobj[axis] = indices
5324 slobj2[axis] = old_mask
-> 5325 new[tuple(slobj)] = values
5326 new[tuple(slobj2)] = arr
5328 if wrap:
ValueError: shape mismatch: value array of shape (2,) could not be broadcast to indexing result of shape (4,)```
标签: python arrays numpy numpy-slicing