Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何重塑数组_Python_Numpy - Fatal编程技术网

Python 如何重塑数组

Python 如何重塑数组,python,numpy,Python,Numpy,我想创建如下所示的5*3数组,而不需要显式键入它 [[1, 6, 11], [2, 7, 12], [3, 8, 13], [4, 9, 14], [5, 10, 15]] 我曾经写过以下代码 np.arange(1, 16).T.reshape((5,3)) 但它表明 array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12], [13, 14, 15]]

我想创建如下所示的5*3数组,而不需要显式键入它

[[1,  6, 11],
 [2,  7, 12],
 [3,  8, 13],
 [4,  9, 14],
 [5, 10, 15]]
我曾经写过以下代码

np.arange(1, 16).T.reshape((5,3))
但它表明

array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12],
       [13, 14, 15]])

如何按升序排列数字,使其成为第一个数组

这就是你要找的:

np.arange(1, 16).reshape((3,5)).T
事实上,为了:

  • np.arange(1,16)
    将返回间隔1到6内的等间距值(默认步长为1)[]
  • 重塑((3,5))
    为先前形成的数组[]赋予了新的形状。新数组将有3行5列
  • .T
    将转置先前重新整形的数组[]

为了完整起见,值得注意的是,没有必要按照当前接受的答案中的建议转置数组。您只需要使用以下参数进行调用:

  • (5,3)
    ,它对应于位置参数
    newshape
    ,即要创建的数组的形状

  • order='F'
    。默认值是
    'C'

    以下是对
    订单
    可选参数的文档的摘录:

    “C”表示使用类似C的索引顺序读/写元素,最后一个轴索引变化最快,返回到第一个轴索引变化最慢F’表示使用类似Fortran的索引顺序读/写元素,第一个索引变化最快,最后一个索引变化最慢

这样,数字按列排列:

In [45]: np.arange(1, 16).reshape((5, 3), order='F')
Out[45]: 
array([[ 1,  6, 11],
       [ 2,  7, 12],
       [ 3,  8, 13],
       [ 4,  9, 14],
       [ 5, 10, 15]])

非常感谢。首先创建3乘5并转置它。我明白了。虽然只写代码的答案是不被禁止的,但请理解这是一个问答社区,而不是一个众包社区,而且,通常,如果OP理解代码是作为答案发布的,他/她会自己想出类似的解决方案,并且一开始就不会发布问题。因此,请通过解释其工作原理和/或原因,为您的答案和/或代码提供上下文。@全能者,我不同意。对于任何问题,你的评论都不可能是真实的。这是一个非泛型的、易于理解的问题的一个非常具体的问题,因为它涉及
numpy
方法的应用。这也意味着,就解释而言,我的回答不能添加任何内容,除了人们在文档中已经找到的内容;让我问你一个非常简单的问题:一个以前从未读过或使用过
.arange()
的新程序员,是否会完全理解这里正在做什么,而不必去别处看如果您的回答是“否”,并且我真诚希望您在智力上足够诚实,能够得出该答案,那么您的答案可以而且应该得到改进,例如,提供方法文档相关部分的快速引用,然后提供或包括链接。这将满足我之前评论中“如何”的语境化。但是,如果你想说去其他地方寻找会很简单,那么,我同意,但你没有抓住我的重点:如果很容易找到文档,那么为什么不至少在这里简单地链接一下,并通过这样做来语境化你的答案?您是否有充分的理由提供一个上下文不完整的答案,让一些(即使只有少数)用户可能会感到困惑,而不是一个具有完整上下文且所有用户都可以轻松理解的答案?