Python NumPy 连接数组
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
前言
NumPyNumerical Python的缩写是一个开源的Python科学计算库。使用NumPy就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍Python NumPy 连接数组(array)
1、concatenate连接NumPy数组
连接意味着将两个或多个数组的内容放在单个数组中。
在SQL中我们基于键联接表而在NumPy中我们按轴联接数组。
我们传递了一系列要与轴一起加入concatenate()函数的数组。 如果未显式传递轴则将其视为0。
例如
连接两个数组
import numpy as np
arr1 = np.array([4, 2, 3])
arr2 = np.array([4, 7, 6])
arr = np.concatenate((arr1, arr2))
print(arr)
上面代码运行的成果[4 2 3 4 7 6]
例如
沿行axis=1联接两个二维数组
import numpy as np
arr1 = np.array([[1, 7], [3, 4]])
arr2 = np.array([[5, 9], [2, 8]])
arr = np.concatenate((arr1, arr2), axis=1)
print(arr)
上面代码运行的成果
[[1 7 5 9]
[3 4 2 8]]
2、使用stack()函数连接数组
stack()与concatenate()相同唯一的不同是stack()是沿着新轴完成的。
我们可以沿着第二个轴连接两个一维数组这将导致它们一个放在另一个之上。
我们传递一个要连接到stack()方法的数组序列和axis。如果axis没有显式传递则将其视为0。
例如
import numpy as np
arr1 = np.array([1, 7, 3])
arr2 = np.array([4, 8, 6])
arr = np.stack((arr1, arr2), axis=1)
print(arr)
上面代码运行的成果
[[1 4]
[7 8]
[3 6]]
3、使用hstack()通过行
NumPy提供了一个辅助函数hstack()沿行堆叠。
例如
import numpy as np
arr1 = np.array([1, 77, 31])
arr2 = np.array([4, 88, 61])
arr = np.hstack((arr1, arr2))
print(arr)
上面代码运行的成果
[ 1 77 31 4 88 61]
4、使用vstack()通过列
NumPy提供了一个辅助函数vstack()沿列堆叠。
例如
import numpy as np
arr1 = np.array([11, 12, 3])
arr2 = np.array([41, 5, 16])
arr = np.vstack((arr1, arr2))
print(arr)
上面代码运行的成果
[[11 12 3]
[41 5 16]]
5、使用dstack()通过Height (depth)
NumPy提供了一个辅助函数dstack()沿高度进行堆叠该高度与深度相同。
例如
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.dstack((arr1, arr2))
print(arr)
上面代码运行的成果
[[[1 4]
[2 5]
[3 6]]]