Numpy矩阵拼接

这篇具有很好参考价值的文章主要介绍了Numpy矩阵拼接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、矩阵拼接

numpy矩阵拼接常用方法:

  • np.append(arr,values,axis)
  • np.concatenate(arrays,axis,out=None)
  • np.stack(arrays,axis,out=None)
  • np.hstack(tup)
  • np.vstack(tup)

① np.append(arr,values,axis)

支持数组和数组或数组和数的拼接,不支持三个及以上数组的拼接
参数:

  • arr:需要被添加values的数组
  • values:添加到数组arr中的值
  • axis:可选参数,默认值为None。

注:
1、如果axis没有给出,则默认axis=None,arr,values都将先展平成一维数组
2、如果axis被指定了,那么arr和values需要同为一维数组或者有相同的shape,否则报错:ValueError: arrays must have same number of dimensions
3、axis的最大值为数组arr的维数-1,如arr维数等于1,axis最大值为0;arr维数等于2,axis最大值为1,以此类推。
4、当arr的维数为2(理解为单通道图),axis=0表示沿着行增长方向添加 values;axis=1表示沿着列增长方向添加values
5、当arr的维数为3(理解为多通道图),axis=0,axis=1时同上;axis=2表示沿着图像深度增长方向添加values

import numpy as np
a = [[1,2,3,4]]
b = 5
c = [[5,6,7,8]]
d = np.append(a,b) # 数组和数拼接,默认axis=None
e = np.append(a,c) # 数组和数组拼接,默认axis=None
f = np.append(a,c,axis=0) # 按行增长方向拼接(垂直拼接)
g = np.append(a,c,axis=1) # 按列增长方向拼接(水平拼接) 
print(d)
print(e)
print(f)
print(g)

输出:
Numpy矩阵拼接

② np.concatenate(arrays,axis,out=None)

功能与np.append()类似,但是支持多个数组的拼接
参数:

  • arrays:一个包含需要组合的数组的元组,这些数组需要满足的要求是:(1)维数相同(2)除axis指定维度外其余维度元素个数对应相等
  • aixs:维度,指定数组组合的方向,默认为0,即垂直拼接
  • out:可选参数,是一个多维数组,如果提供该参数,函数返回结果将会保存在out中,当然,out的shape需要与结果相等
import numpy as np
a = [[1,2,3,4]]
b = 5
c = [[5,6,7,8]]
d = np.concatenate((a,b),axis=None) # 数组和数展平成一维数组拼接
e = np.concatenate((a,c)) # 数组和数组拼接,默认axis=0,按行增长方向拼接(垂直拼接)
f = np.concatenate((a,c),axis=1) # 数组和数组拼接,按列增长方向拼接(水平拼接) 
print(d)
print(e)
print(f)

输出:
Numpy矩阵拼接

③ np.stack(arrays,axis,out=None)

同样支持多矩阵拼接,不同的是,stack会在指定轴方向上添加一个新的维度,axis默认值为0
参数:

  • arrays:一个包含需要组合的数组的元组,这些数组需要满足的要求是:(1)维数相同(2)各维度元素个数对应相等(即形状相等)
  • aixs:维度,指定数组增加哪个维度,以及组合的方向。axis默认值为0,默认增加零轴,并按照零轴方向组合。
  • out:可选参数,是一个多维数组,如果提供该参数,函数返回结果将会保存在out中,当然,out的shape需要与结果相等
import numpy as np
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
b = np.array([[13,14,15,16],[17,18,19,20],[21,22,23,24]])
print(a.shape)
print(b.shape)
c = np.stack((a,b)) # 默认axis=0,数组和数组在0轴拼接,并在该纬度增加一维
d = np.stack((a,b),axis=1) # axis=1,数组和数组在1轴拼接,并在该纬度增加一维
e = np.stack((a,b),axis=2) # axis=2,数组和数组在2轴拼接,并在该纬度增加一维
print(c, c.shape)
print(d, d.shape)
print(e, e.shape)

输出:
Numpy矩阵拼接

④ np.hstack(tup)

水平堆叠,对多维数组来说,水平堆叠相当于在第二个维度做concatenation

import numpy as np
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
b = np.array([[13,14,15,16],[17,18,19,20],[21,22,23,24]])
c = np.hstack((a,b))
print(a, a.shape)
print(b, b.shape)
print(c, c.shape)

输出:
Numpy矩阵拼接

⑤ np.vstack(tup)

垂直堆叠,对多维数组来说,垂直堆叠相当于在第一个维度做concatenation

import numpy as np
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
b = np.array([[13,14,15,16],[17,18,19,20],[21,22,23,24]])
c = np.vstack((a,b))
print(a, a.shape)
print(b, b.shape)
print(c, c.shape)

输出:
Numpy矩阵拼接文章来源地址https://www.toymoban.com/news/detail-452940.html

到了这里,关于Numpy矩阵拼接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用numpy处理图片——图片拼接

    在《使用numpy处理图片——图片切割》一文中,我们介绍了如何使用numpy将一张图片切割成4部分。本文我们将反其道而行之,将4张图片拼接成1张图片。 基本的思路就是先用两张图以左右结构拼接成上部,另外两张图也以左右拼接成为下部。然后上下两部再拼接。当然也可以

    2024年02月02日
    浏览(29)
  • 将矩阵按指定对角线转化为一个下三角矩阵numpy.tril()方法

    【小白从小学Python、C、Java】 【计算机等考+500强证书+考研】 【Python-数据分析】 将矩阵按指定对角线转化为一个下三角矩阵 numpy.tril()   选择题 关于以下代码说法错误的一项是? import numpy as np a = np.array([[1,2],[3,4]]) print(\\\"【显示】a=n\\\",a) print(\\\"【执行】b = np.tril(a,k=0)\\\") b = np.tri

    2024年02月05日
    浏览(28)
  • Numpy-改变数组维度_数组的拼接

    处理数组的一项重要工 作就是改变数组的维度,包含提高数组的维度和降低数组的维度,还包括数组的转置Numpy 提供的大量API可以很轻松地完成这些数组的操作。 例如,通过 reshape 方法可以将一维数组变成二维、三维或者多维数组。 通过 ravel 方法或 flatten 方法可以将多维数

    2024年02月15日
    浏览(30)
  • python-数据分析-numpy、pandas、matplotlib的常用方法

    输出方式不同 里面包含的元素类型 使用 索引/切片 访问ndarray元素 切片 左闭右开 np.array(list) np.arange() np.random.randn() - - - 服从标准正态分布- - - 数学期望 μ - - - 标准方差 s 使用matplotlib.pyplot模块验证标准正态分布 np.random.randint(起始数,终止数(行,列)) 数据分析 - - - 数据清洗

    2024年02月10日
    浏览(38)
  • Numpy简易教程5——创建NumPy矩阵

    NumPy 对于多维数组的运算,默认情况下并不进行矩阵运算。如果需要对数组进行矩阵运算,则可以调用相应的函数。 在 NumPy 中,矩阵是 ndarray 的子类。 在 NumPy 中,数组和矩阵有着重要的区别。NumPy提供了两个基本的对象: 一个N维数组对象和一个通用函数对象 。其他对象都

    2023年04月08日
    浏览(23)
  • 系统学习Numpy(一)——numpy的安装与基础入门[向量、矩阵]

    numpy的安装与基础入门[向量、矩阵与维度] numpy是科学计算以及机器学习深度学习的基础必备工具,本文将介绍numpy的安装,以及关于向量、矩阵相关的基础知识。 在conda下使用 conda install numpy 安装。 如果没有conda可以使用 pip install numpy 安装。 我们将使用 import numpy as np 对nu

    2024年02月16日
    浏览(24)
  • 深入探索NumPy:科学计算利器的常用函数大全【第86篇—NumPy常用函数大全】

    在数据科学和机器学习领域,NumPy(Numerical Python)模块是Python中最常用的科学计算库之一。它提供了丰富的功能,包括数组操作、数学函数、统计方法等,为数据处理和分析提供了强大的工具。本文将重点介绍NumPy模块中常用的函数,涵盖字符串处理、数学运算、算术操作、

    2024年02月20日
    浏览(33)
  • 使用 NumPy 随机生成矩阵

    使用 NumPy 随机生成矩阵 在科学计算领域中,随机数生成是一种常见的需求。在 Python 中,NumPy 库提供了众多生成随机矩阵的函数,可以轻松地实现随机数生成。本文将详细介绍 NumPy 中生成随机矩阵的各种方法。 np.random.rand() np.random.rand() 函数用于返回 [0, 1) 之间的随机浮点数

    2024年02月03日
    浏览(34)
  • NumPy矩阵乘法

    矩阵乘法是将两个矩阵作为输入值,并将 A 矩阵的行与 B 矩阵的列对应位置相乘再相加,从而生成一个新矩阵,如下图所示: 注意:必须确保第一个矩阵中的行数等于第二个矩阵中的列数,否则不能进行矩阵乘法运算。 图1:矩阵乘法 矩阵乘法运算被称为向量化操作,向量化

    2024年02月16日
    浏览(31)
  • numpy 随机生成矩阵

    np.random.randint(a, b, size=(c, d)): 注:a-b表示生成[a,b]数的范围,后面size表示生成矩阵的大小 np.random.rand(a, b) 注:通过本函数可以返回一个或者一组服从“0-1”分布的随机样本值。随机样本取值的范围为[0,1) 应用:在Dropout正则化方法中用到,可以用来生成dropout随机向量例如d3 =

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包