连接NumPy数组

连接NumPy数组

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

方法1:使用 numpy.concatenate()

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

语法:

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

第一个参数是一个我们打算连接的数组的元组,第二个参数是我们需要沿着这些数组连接的轴。请看下面的例子,展示numpy.concatenate的使用。

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)

输出:

[1 2 4 5]

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

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()的使用。

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]]

数组沿着一个新的轴被连接起来。

方法3:numpy.block()

numpy.block用于从嵌套的列表块中创建nd-arrays。

语法:

numpy.block(arrays)

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

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个独立的2维数组(block_1,block_2,block_3,block_4)组装了一个块矩阵(block_new)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作