首先,这
np.array([i for i in range(0, 12)])是一种不太优雅的说法
np.arange(12)。
其次,您可以传递
-1到一维整形(函数
np.reshape和方法
np.ndarray.reshape)。就您而言,如果您知道总大小是3的倍数,请执行
np.arange(12).reshape(-1, 3)
得到一个4x3的阵列。从文档:
一个形状尺寸可以为-1。在这种情况下,该值是根据数组的长度和其余维来推断的。
作为一个侧面说明,你得到错误的原因是,普通除法,即使是整数,自动导致
float在Python 3:
type(12 /3)是
float。您可以通过
a.shape[0] // 3使用整数除法来使原始代码正常工作。话虽这么说,使用
-1起来更加方便。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)