是否有一个函数做了与numpy.pad()
相反的事情?
我要找的是一个函数(均匀地)在每个方向上减少numpy数组(矩阵)的维数。我试图用负值调用numpy.pad()
,但它给出了一个错误:
import numpy as np
A_flat = np.array([0,1,2,3,4,5,6,7,8,9,10,11])
A = np.reshape(A_flat, (3,2,-1))
#this WORKS:
B = np.pad(A, ((1,1),(1,1),(1,1)), mode='constant')
# this DOES NOT WORK:
C = np.pad(B, ((-1,1),(1,1),(1,1)), mode='constant')
错误:ValueError: ((-1, 1), (1, 1), (1, 1)) cannot contain negative values.
我知道这个函数numpy.pad()
不接受负值,但是否有numpy.unpad()
或类似的值?
正如mdurant所建议的,只需使用切片索引:
您想要的操作:
可替换为
pad
和常规切片的组合:一般的解决办法是:
相关问题 更多 >
编程相关推荐