【发布时间】:2019-04-04 15:14:10
【问题描述】:
我想知道如何使用 np.reshape 将一个长向量重塑为 n 列数组而不给出行号。
通常我可以通过len(a)//n找到行号:
a = np.arange(0, 10)
n = 2
b = a.reshape(len(a)//n,n)
如果有不使用len(a)//n的更直接的方法?
【问题讨论】:
我想知道如何使用 np.reshape 将一个长向量重塑为 n 列数组而不给出行号。
通常我可以通过len(a)//n找到行号:
a = np.arange(0, 10)
n = 2
b = a.reshape(len(a)//n,n)
如果有不使用len(a)//n的更直接的方法?
【问题讨论】:
你可以在一维上使用 -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。在这种情况下,推断值 从数组的长度和剩余的维度。
【讨论】: