Python 如何分割/重塑numpy阵列

Python 如何分割/重塑numpy阵列,python,arrays,numpy,reshape,Python,Arrays,Numpy,Reshape,我有一个名为“results”的numpy数组,它的定义如下 array([1, 2, 3, 4, 5, 6]) 但我需要它看起来像这样: array([1, 2], [3, 4], [5, 6]) 如何在Python中将“results”转换成这个新数组?我最终使用的数组仍然需要是numpy数组 您可以使用重塑方法直接实现这一点 例如: In [1]: import numpy as np In [2]: arr = np.array([1, 2, 3, 4, 5, 6]) In [3

我有一个名为“results”的numpy数组,它的定义如下

array([1, 2, 3, 4, 5, 6])
但我需要它看起来像这样:

array([1, 2], [3, 4], [5, 6])

如何在Python中将“results”转换成这个新数组?我最终使用的数组仍然需要是numpy数组

您可以使用
重塑
方法直接实现这一点

例如:

In [1]: import numpy as np

In [2]: arr = np.array([1, 2, 3, 4, 5, 6])

In [3]: reshaped = arr.reshape((3, 2))

In [4]: reshaped
Out[4]: 
array([[1, 2],
       [3, 4],
       [5, 6]])

请注意,如果可能,
重塑
将为您提供阵列的视图。换句话说,您所查看的基础数据与原始阵列相同:

In [5]: reshaped[0][0] = 7

In [6]: reshaped
Out[6]: 
array([[7, 2],
       [3, 4],
       [5, 6]])

In [7]: arr
Out[7]: array([7, 2, 3, 4, 5, 6])
这几乎总是一个优势。但是,如果您不希望出现这种行为,您可以随时复制:

In [8]: copy = np.copy(reshaped)

In [9]: copy[0][0] = 9

In [10]: copy
Out[10]: 
array([[9, 2],
       [3, 4],
       [5, 6]])

In [11]: reshaped
Out[11]: 
array([[7, 2],
       [3, 4],
       [5, 6]])

您可以使用
重塑
方法直接实现这一点

例如:

In [1]: import numpy as np

In [2]: arr = np.array([1, 2, 3, 4, 5, 6])

In [3]: reshaped = arr.reshape((3, 2))

In [4]: reshaped
Out[4]: 
array([[1, 2],
       [3, 4],
       [5, 6]])

请注意,如果可能,
重塑
将为您提供阵列的视图。换句话说,您所查看的基础数据与原始阵列相同:

In [5]: reshaped[0][0] = 7

In [6]: reshaped
Out[6]: 
array([[7, 2],
       [3, 4],
       [5, 6]])

In [7]: arr
Out[7]: array([7, 2, 3, 4, 5, 6])
这几乎总是一个优势。但是,如果您不希望出现这种行为,您可以随时复制:

In [8]: copy = np.copy(reshaped)

In [9]: copy[0][0] = 9

In [10]: copy
Out[10]: 
array([[9, 2],
       [3, 4],
       [5, 6]])

In [11]: reshaped
Out[11]: 
array([[7, 2],
       [3, 4],
       [5, 6]])

您想要的结果不可能,您缺少外部列表:
数组([[1,2],[3,4],[5,6]])
。您想要的结果不可能,您缺少外部列表:
数组([[1,2],[3,4],[5,6]])