Python初学者--更改矩阵的形状

Python初学者--更改矩阵的形状,python,numpy,Python,Numpy,我有以下img对象 img.shape = (480,640,3) 如何使img仅(480640)(即丢失,3)?如果您想要第三个,您需要 newimg = img[..., 0] 如果你再也不需要另外三分之二了,但第一个三分之二会保留一段时间,你可能会想要 img = img[..., 0].copy() 因此,不必保留阵列的其他部分。完全取决于您要执行的操作。这不仅仅是重塑;您的新数组将包含旧数组的1/3元素。您只想了解如何对元组进行切片?或者你正在使用numpy?你能用你正在使用的库

我有以下img对象

img.shape = (480,640,3)

如何使
img
(480640)
(即丢失
,3
)?

如果您想要第三个,您需要

newimg = img[..., 0]
如果你再也不需要另外三分之二了,但第一个三分之二会保留一段时间,你可能会想要

img = img[..., 0].copy()

因此,不必保留阵列的其他部分。

完全取决于您要执行的操作。这不仅仅是重塑;您的新数组将包含旧数组的1/3元素。您只想了解如何对元组进行切片?或者你正在使用
numpy
?你能用你正在使用的库来标记这个问题吗?@user2357112是的,我想把大小减一third@2rs2ts:
省略号
对象。Python3允许您在任何地方使用语法,尽管Python2只允许在扩展切片中使用。Numpy在多维数组切片中将其解释为“需要多少冒号就有多少冒号”。OP需要前三分之二的冒号
img.shape[0:2]
img.shape[:2]
img.shape[:-1]
如果您想谈论删除最后一个元素。你也必须做
.shape
,因为那是元组。我试过img[:-1],当我做
img.shape
时,我得到了(479640,3),我的意思是
img.shape[:-1]
或者类似的东西-我先键入了错误的东西,然后编辑了我的帖子。