python - reshape 数组时参数 (..., -1) 是什么意思?

标签 python arrays numpy shapes reshape

我发现了以下声明:

train_set_x.reshape(train_set_x.shape[0], -1).T

train_set_x形状为:(209, 64, 64, 3)

因此我相信 shape[0]209,而 T 是转置?

但是我无法理解上面的reshape语句? -1是什么?

非常感谢对此的任何澄清。

谢谢。

最佳答案

-1 将采用剩余维度并将它们展平为 1 维。因此,对于形状为 (209, 64, 64, 3) 的数组,调用:

arr.reshape(209, -1)

将产生形状为(209, 12288)或(209, 64 * 64 * 3)的矩阵

 >>> a = np.zeros([209, 64, 64, 3])
 >>> a.reshape(209, -1).shape
 (209, 12288)

如果您的代码适用于 64 x 64 RGB 图像,则最终每个图像都会被重新整形为一个长向量。

另外,请注意,数组将被 reshape 为的新形状中只能有一个 -1

关于python - reshape 数组时参数 (..., -1) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47613897/

相关文章:

javascript - Bokeh python ;使用 ColumnDataSource 上的回调来更改带有 Select Widget 的堆叠条形图

python - Discord.py:有没有办法使用 on_message() 函数获取命令的参数?

python - 在python中通过xpath从html中获取值

c - 当我运行它时出现段错误

numpy - cython 和 numpy : 'cfunc.to_py:65:25: ' ndarray' is not a type identifier'

python - 如何通过避免行名称等来仅打印数据库中的值(在 Django 中)

c - 内存地址

javascript - 从 JavaScript 数组中删除嵌套的空值

python - 从行向量创建 block 矩阵的最佳方法是什么?

python - 如何将特定的 C 模块移植到 Python 3?