Python NumPy 连接数组

前言

NumPy(Numerical 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]]]
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值