假设我们有一个5x4矩阵。 我们只需要移除第一个维度。 我们怎么能用numpy来做呢?
array([[ 0., 1., 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 11.],
[ 12., 13., 14., 15.],
[ 16., 17., 18., 19.]], dtype=float32)
我试过:
arr = np.arange(20, dtype=np.float32)
matrix = arr.reshape(5, 4)
new_arr = numpy.delete(matrix, matrix[:,0])
trimmed_matrix = new_arr.reshape(5, 3)
看起来有点笨重。 我做得对吗? 如果是,是否有更清洁的方法在不重塑的情况下移除尺寸?
如果要从2D Numpy数组中删除列,可以指定如下列
保留所有行并删除列0(或从列1开始到列尾)
另一种方法可以指定要保留的列(如果需要,还可以更改顺序) 这将保留所有行并仅使用列0、2、3
关于这个的文档可以找到here
如果您需要特定删除列的内容,可以执行以下操作:
@hpaulj带来了numpy.delete()
这将是如何返回“a”的视图,其中沿轴1删除了2列(0和2)。
这实际上并没有从“a”中移除项,它的返回值是一个新的numpy数组。
使用
delete
的正确方法是指定索引和维度,例如删除第一(0)列(维度1):其他有效的表达式:
你不需要第二次整形。
相关问题 更多 >
编程相关推荐