📜  加入 NumPy 数组

📅  最后修改于: 2022-05-13 01:54:31.747000             🧑  作者: Mango

加入 NumPy 数组

NumPy 提供了各种函数来组合数组。在本文中,我们将讨论一些主要的。

  • numpy.concatenate
  • numpy.stack
  • numpy.block

方法一:使用numpy.concatenate()

NumPy 中的 concatenate函数沿指定的轴连接两个或多个数组。

句法:

numpy.concatenate((array1, array2, ...), axis=0)

第一个参数是我们打算连接的数组元组,第二个参数是我们需要沿其连接这些数组的轴。查看以下示例,显示 numpy.concatenate 的使用。

Python3
import numpy as np
  
array_1 = np.array([1, 2])
array_2 = np.array([3, 4])
  
array_new = np.concatenate((array_1, array_2))
print(array_new)


Python3
import numpy as np
  
array_1 = np.array([[1, 2], [3, 4]])
array_2 = np.array([[5, 6], [7, 8]])
  
array_new = np.concatenate((array_1, array_2), axis=1)
print(array_new)


Python3
import numpy as np
  
array_1 = np.array([1, 2, 3, 4])
array_2 = np.array([5, 6, 7, 8])
  
array_new = np.stack((array_1, array_2), axis=1)
print(array_new)


Python3
import numpy as np
  
block_1 = np.array([[1, 1], [1, 1]])
block_2 = np.array([[2, 2, 2], [2, 2, 2]])
block_3 = np.array([[3, 3], [3, 3], [3, 3]])
block_4 = np.array([[4, 4, 4], [4, 4, 4], [4, 4, 4]])
  
block_new = np.block([
    [block_1, block_2],
    [block_3, block_4]
])
  
print(block_new)


输出:

[1 2 4 5]

默认情况下,轴的值设置为 0。您可以通过在第二个参数中指定轴的值来更改它。以下代码沿行连接两个数组。

蟒蛇3

import numpy as np
  
array_1 = np.array([[1, 2], [3, 4]])
array_2 = np.array([[5, 6], [7, 8]])
  
array_new = np.concatenate((array_1, array_2), axis=1)
print(array_new)

输出:

[[1 2 5 6]
 [3 4 7 8]]

方法 2:使用numpy.stack()

NumPy 的 stack()函数沿新轴连接两个或多个数组。

句法:

numpy.stack(arrays, axis=0)

以下代码演示了 numpy.stack() 的使用。

蟒蛇3

import numpy as np
  
array_1 = np.array([1, 2, 3, 4])
array_2 = np.array([5, 6, 7, 8])
  
array_new = np.stack((array_1, array_2), axis=1)
print(array_new)

输出:

[[1 5]
 [2 6]
 [3 7]
 [4 8]]

阵列沿新轴连接。

方法三:numpy.block()

numpy.block 用于从嵌套的列表块创建 nd 数组。

句法:

numpy.block(arrays)

下面的例子解释了 numpy.block() 的工作。

蟒蛇3

import numpy as np
  
block_1 = np.array([[1, 1], [1, 1]])
block_2 = np.array([[2, 2, 2], [2, 2, 2]])
block_3 = np.array([[3, 3], [3, 3], [3, 3]])
block_4 = np.array([[4, 4, 4], [4, 4, 4], [4, 4, 4]])
  
block_new = np.block([
    [block_1, block_2],
    [block_3, block_4]
])
  
print(block_new)

输出:

[[1 1 2 2 2]
 [1 1 2 2 2]
 [3 3 4 4 4]
 [3 3 4 4 4]
 [3 3 4 4 4]]

在这个例子中,我们从 4 个独立的二维数组 (block_1,block_2,block_3,block_4) 组装了一个块矩阵 (block_new)。