【发布时间】:2014-09-08 11:31:35
【问题描述】:
是否有与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()或类似的东西吗?
【问题讨论】:
-
你的意思是要裁剪你的数组,选择一些子数组?我建议你使用普通的切片符号来做到这一点。
-
谢谢,是的——你说得对。