首页 > 解决方案 > Numpy,如何将向量重塑为多列数组

问题描述

我想知道如何使用 np.reshape 将长向量重塑为 n 列数组而不给出行号。

通常我可以通过以下方式找出行号len(a)//n

a = np.arange(0, 10)
n = 2
b = a.reshape(len(a)//n,n)

如果有更直接的方法而不使用len(a)//n

标签: pythonnumpy

解决方案


您可以在一维上使用 -1,numpy 会计算出这个数字应该是什么:

a = np.arange(0, 10)
n = 2
b = a.reshape(-1, n)

该文档对此功能非常清楚:https ://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html

一个形状维度可以是-1。在这种情况下,该值是从数组的长度和剩余维度推断出来的。


推荐阅读