首页 > 其他分享 >NumPy数组的合并

NumPy数组的合并

时间:2024-06-22 15:46:11浏览次数:10  
标签:arr1 res 合并 np arr2 数组 print array NumPy

NumPy数组的合并

方法 说明
concatenate() 沿现有维度合并
hstack() 沿现有维度水平合并
vstack() 沿现有维度垂直合并
stack() 沿新维度合并

1.concatenate()

np.concatenate((arr1,arr2),axis=n)
import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
# 沿第1个维度
res1 = np.concatenate((arr1, arr2), axis=0)
# 沿第2个维度
res2 = np.concatenate((arr1, arr2), axis=1)
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res1:")
print(res1)
print("res2:")
print(res2)

2.hstack()

np.hstack((arr1,arr2))
import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])

res = np.hstack((arr1, arr2))
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res:")
print(res)

水平合并也就是按照第二个维度进行合并

因此hstack()和concatenate((arr1,arr2),axis=1)的效果是一样的

3.vstack()

np.vstack((arr1,arr2))
import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])

res = np.vstack((arr1, arr2))
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res:")
print(res)

垂直合并也就是按照第一个维度进行合并

因此vstack()和concatenate((arr1,arr2),axis=0)的效果是一样的

4.stack()

np.stack((arr1,arr2),axis=n)
import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])

res = np.stack((arr1, arr2),axis=1)
print("arr1:")
print(arr1)
print("arr2:")
print(arr2)
print("res:")
print(res)

stack()的合并结果是一个三维数组,stack会将两个二维数组合并成为三维数组的一个元素

标签:arr1,res,合并,np,arr2,数组,print,array,NumPy
From: https://www.cnblogs.com/hanstary/p/18262374

相关文章

  • 力扣每日一题 6/21 数组
    博客主页:誓则盟约系列专栏:IT竞赛专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞......
  • java object多大 java对象内存模型 数组有多长(九)多线程2
    背景:多线程与单线程byte模式有误差,而且多线程每次跑出来不一样 发现:set多线程单线程没有误差,意味着除了byte那一块代码,其他的代码是可被信任的单线程5000以下byte没有hash冲突时==单线程set==apache==理论值;基本证明了这套cas在单线程下没问题;hash冲突是导致单线程set和单线......
  • 一维静态数组
    数组,拆分就是数的组合,里面可能会出现重复的数字;同时数组分为一维数组和二维数组。我们可以把一维数组理解为一条线,把二维数组理解成一个面。当然,三维数组,甚至四维数组,只要你有能力,都可以在c++,同样有数组。这次我们讲一维静态数组语法定义Typarr[n];//定义一个类型为Ty......
  • 【Shell脚本】 Shell索引数组变量:定义-获取-拼接-删除、alisa内置命令、默认输出换行
    目录 Shell索引数组变量:定义-获取-拼接-删除 数组的获取 数组的拼接数组的删除 alisa内置命令默认输出换行语法 read内置命令 declare内置命令获取指定key的值使用declare定义一普通数组,并获取打印元素数据的值 expr命令 算术运算符 布尔运算符 逻辑......
  • 深入了解NumPy的原理与使用
    文章目录一、引言二、NumPy的原理1.多维数组对象2.广播(Broadcasting)3.内存效率和速度三、NumPy的使用1.创建数组2.数组操作3.广播(Broadcasting)示例四、总结一、引言在Python的数据科学和科学计算领域,NumPy(NumericalPython)是一个不可或缺的库。它提供了高性......
  • 最详细的JS学习笔记(连载)第二章、数组方法(删除)
    数组删除(1)数组.pop() 移除最后一个元素,并返回移除该元素值  参数:无        返回值:被删除的那个元素           原有的数组改变letary=[10,20,30]varres=ary.pop();console.log(res,ary)   //res=>30  ary=>[10,20]基于原......
  • fortran 数组下标从0还是1开始?
    Fortran语言中,数组的下标是从1开始的,这与许多其他编程语言(如C、Python或Java)将数组下标从0开始的习惯不同。这种从1开始的下标命名方式源于Fortran的历史,当时的记录卡片和编程语言是从1开始编号的。以下是一个Fortran代码示例,展示了如何声明一个数组并使用从1开始的下标:program......
  • 【C语言初学指导】进阶知识 指针、数组与字符串
    指针指针是一种特殊的变量,它存储的是另一个变量的内存地址,而不是数据值本身。这个地址指向了内存中的一个特定位置,程序可以通过这个地址来访问或修改存储在该位置的数据。举个例子:intvar=10;//假设var住在内存里的101号房间int*ptr=&var;//ptr就是我们......
  • 6.20-合并二叉树
    617.合并二叉树题意描述:给你两棵二叉树:root1和root2。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为null......
  • 在SQL中使用explode函数展开数组的详细指南
    目录简介示例1:简单数组展开示例2:展开嵌套数组示例3:与其他函数结合使用处理结构体数组示例:展开包含结构体的数组示例2:展开嵌套结构体数组总结简介在处理SQL中的数组数据时,explode函数非常有用。它可以将数组中的每个元素单独提取出来,便于进一步处理。本文将通过几......