Python 如何分割/重塑numpy阵列
我有一个名为“results”的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
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]])
。