【python】三种方式实现将2个3×5数组拼接形成6×5数组

news2024/9/9 4:18:12

文章目录

  • 结果示例
  • np.concatenate(original_array, axis=0)
      • 代码解释:
      • 结果
  • original_array.reshape(-1, 5)
      • 示例代码:
      • 代码解释:
  • vstack((array1, array2))

结果示例

  • 有一个N维3*5大数组,我倾向于使用concatenate
Original Array (2x3x5):
 [[[ 0  1  2  3  4]
  [ 5  6  7  8  9]
  [10 11 12 13 14]]

 [[15 16 17 18 19]
  [20 21 22 23 24]
  [25 26 27 28 29]]]

Reshaped Array (6x5):
 [[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]
 [20 21 22 23 24]
 [25 26 27 28 29]]

np.concatenate(original_array, axis=0)

沿着第一个维度进行拼接意味着要将原始数组的第一个维度扩展,从而将多个块沿着这个维度排列在一起。对于形状为 2 × 3 × 5 2 \times 3 \times 5 2×3×5 的数组,这意味着将两个形状为 3 × 5 3 \times 5 3×5 的块连接起来,形成一个新的形状为 6 × 5 6 \times 5 6×5 的数组。

以下是如何实现这一操作的代码示例:

import numpy as np

# 创建一个 2x3x5 的示例数组
original_array = np.arange(30).reshape(2, 3, 5)

# 沿着第一个维度进行拼接
# 先将第一个维度与第二个维度调换,再将数组展平
concatenated_array = np.concatenate(original_array, axis=0)

# 打印结果
print("Original Array (2x3x5):\n", original_array)
print("\nConcatenated Array (6x5):\n", concatenated_array)

代码解释:

  1. 创建原始数组original_array 是一个形状为 2 × 3 × 5 2 \times 3 \times 5 2×3×5的数组,其中有 2 个块(深度),每个块包含 3 行,每行有 5 列。
  2. 沿第一个维度拼接
    • np.concatenate(original_array, axis=0) 使用 np.concatenate 函数沿着第一个维度(即轴0)进行拼接。这里的 axis=0 表示将第一个维度的元素扩展,即将每个形状为 3 × 5 3 \times 5 3×5 的块一个接一个地堆叠起来。
    • 结果将是一个形状为 (6 \times 5) 的数组 concatenated_array

结果

通过这种方法,您将原始的 2 × 3 × 5 2 \times 3 \times 5 2×3×5 数组中的两个块沿着第一个维度拼接在一起,生成一个新的 6 × 5 6 \times 5 6×5 数组。这个操作保留了每个块的行和列结构,只是简单地将它们堆叠起来。

original_array.reshape(-1, 5)

要将一个形状为 2 × 3 × 5 2 \times 3 \times 5 2×3×5 的数组拼接成一个形状为 6 × 5 6 \times 5 6×5 的数组,可以通过将前两个维度 “平铺” 成一个维度来实现。这可以通过使用 NumPy 的 reshapereshapeswapaxes 组合来实现。以下是详细的步骤和代码:

示例代码:

import numpy as np

# 创建一个 2x3x5 的示例数组
original_array = np.arange(30).reshape(2, 3, 5)

# 将数组重新形状为 6x5
reshaped_array = original_array.reshape(-1, 5)

# 打印结果
print("Original Array (2x3x5):\n", original_array)
print("\nReshaped Array (6x5):\n", reshaped_array)

代码解释:

  1. 创建原始数组original_array 是一个形状为 2 × 3 × 5 2 \times 3 \times 5 2×3×5的数组,其中有 2 个块(深度),每个块包含 3 行,每行有 5 列。
  2. 重塑数组reshaped_array = original_array.reshape(-1, 5) 通过将第一个和第二个维度 “平铺” 成一个维度,创建一个形状为 6 × 5 6 \times 5 6×5 的数组。-1 表示让 NumPy 自动计算该维度的大小,因此 2 * 3 = 6,数组被展平为 6 行,每行有 5 列。

这样,您就可以将原始的 2 × 3 × 5 2 \times 3 \times 5 2×3×5数组转换为 6 × 5 6 \times 5 6×5 的数组。这个操作在保持数组数据顺序不变的情况下,将数组的形状调整为新的形状。

vstack((array1, array2))

将两个形状为 3 × 5 3 \times 5 3×5 的数组垂直拼接成一个形状为 6 × 5 6 \times 5 6×5的数组:

import numpy as np

# 创建两个 3x5 的示例数组
array1 = np.arange(15).reshape(3, 5)
array2 = np.arange(15, 30).reshape(3, 5)

# 拼接数组
result_array = np.vstack((array1, array2))

print("Array 1:\n", array1)
print("\nArray 2:\n", array2)
print("\nResult Array:\n", result_array)

在这段代码中:

  1. array1array2 是两个形状为 3 × 5 3 \times 5 3×5 的数组。
  2. 使用 np.vstack((array1, array2)) 将这两个数组垂直堆叠,形成一个新的形状为 6 × 5 6 \times 5 6×5 的数组 result_array

np.vstack 函数用于沿着垂直(第一个)轴堆叠数组,它接受一个数组列表作为参数。您可以在本地环境中运行此代码以验证结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1960975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 8-函数式接口

目录 一、概述 二、 函数式接口作为方法的参数 三、函数式接口作为方法的返回值 四、 常用的函数式接口 简单总结 简单示例 4.1 Consumer接口 简单案例 自我练习 实际应用场景 多线程处理 4.2 Supplier接口 简单案例 自我练习 实际应用场景 配置管理 4.3 Func…

UCC5320SCDWVR驱动SIC的功耗计算

驱动功耗可以通过分析器件的电气特性和推荐的电源电压来估算。以下是一些关键信息,用于估算功耗: 电源电流: 输入电源静态电流(IVCC1​):最小值为1.67 mA,典型值为2.4 mA。输出电源静态电流&am…

day33

类类型接口 静态属性和静态方法 区分方法就是必须要有 new什么东西 完成什么类 第二种类类型接口 字面量类类型接口 接口继承 接口继承接口 继承多个接口 接口可以继承多个,但是类只能继承一个 接口不能继承对象 接口继承类,仅继承类中对于实…

力扣高频SQL 50题(基础版)第二十六题

文章目录 力扣高频SQL 50题(基础版)第二十六题1667.修复表中的名字题目说明实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题(基础版)第二十六题 1667.修复表中的名字 题目说明 表: Users ----------------…

Day7-指针专题二

1. 字符指针与字符串 C语言通过使用字符数组来处理字符串 通常,我们把char数据类型的指针变量称为字符指针变量。字符指针变量与字符数组有着密切关系,它也被用来处理字符串 初始化字符指针是把内存中字符串的首地址赋予指针,并不是把该字符串…

TCP/UDP通信

1、TCP/IP四层模型 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP…

【Linux】make/Makefile的理解

1.make是一个命令,makefile是一个文件, 依赖关系和依赖方法. a.快速使用一下 i.创建一个Makefile文件(首字母也可以小写) b.依赖关系和依赖方法 i.依赖关系: 我为什么要帮你? mybin:mytest.c ii.依赖方法: 怎么帮? gcc -o mybin mytest.c make之前要注意先创建…

每期一个小窍门: 使用Gin 与 client-go 操作k8s (中)

本文承接上文 每期一个小窍门: 使用Gin 与 client-go 操作k8s (上) 后面应该还会有个下 应该是个operator的全程demo 项目结构如下 client.go package clientimport ("k8s.io/client-go/discovery""k8s.io/client-go/kubernetes"…

使用easypoi读取Excel模板

1、只读取一个脚本号Excel2、读取多个脚本号的sheet…Excel 1、只读取sheet0(只读取一个脚本号的Excel) 前言&#xff1a;引入pom文件 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</…

OV SSL证书申请指南

OV SSL证书除了验证域名所有权外还需要验证组织信息&#xff0c;这类证书适用于对公司官网、品牌、安全性等有较高程度要求的企业级用户。具体申请流程如下&#xff1a; 一 、注册账号 注册账号填写230919注册码即可获得大额优惠券和全程一对一技术支持https://www.joyssl.co…

网页速度如何优化?从10s到0.5s

如何排除网页速度慢的故障&#xff1f; 优化运行缓慢的网页涉及多个层面的改进&#xff0c;可分为硬件、前端和后台优化。下面是一份全面的指南&#xff1a; 01 硬件优化 服务器资源 升级服务器&#xff1a;确保服务器能为流量提供足够的资源&#xff08;CPU、内存、带宽等&a…

【Windows】Mountain Duck(FTP服务器管理工具)软件介绍

软件介绍 Mountain Duck是一款基于Cyberduck开发的应用程序&#xff0c;它允许用户通过FTP、SFTP、WebDAV、S3和OpenStack Swift等协议连接到云存储和远程服务器&#xff0c;并在本地文件浏览器中以熟悉的方式访问和管理这些文件。 功能特点 支持多种协议: Mountain Duck支持…

右键没有压缩选项

想压缩文件选中右键没有压缩选项。 打开任意rar文件 选择选项-》设置&#xff0c;添加到winrar到开始菜单即可

HTML+CSS+JavaScript实现烟花绽放的效果源码

源码 复制粘贴代码 在同级别下放一张图片fire.png接可以了 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

AI多模态模型架构之输出映射器:Output Projector

〔探索AI的无限可能&#xff0c;微信关注“AIGCmagic”公众号&#xff0c;让AIGC科技点亮生活〕 本文作者&#xff1a;AIGCmagic社区 刘一手 前言 AI多模态大模型发展至今&#xff0c;每年都有非常优秀的工作产出&#xff0c;按照当前模型设计思路&#xff0c;多模态大模型的…

QChart笔记6:显示点的值、显示点坐标值

在QChart笔记2: 添加鼠标悬停显示和格式处理_qchart 折线图 响应鼠标显示数据-CSDN博客上修改而来。 在笔记2中&#xff0c;通过鼠标悬停的方式显示了坐标轴Y的值&#xff0c;如果要一直显示应该怎么写呢&#xff1f;比如要达到下面的效果。 核心是这句&#xff1a; series1-…

Windows10安装——制作U盘启动盘(保姆级)

安装前准备&#xff1a; 一个不少于8G的U盘&#xff0c; 一个可以上网的windows电脑&#xff1b; 第一步&#xff1a;安装启动盘制作工具 首先我们下载启动盘制作工具&#xff0c; 官网网址&#xff1a;下载 Windows 10 (microsoft.com)&#xff1b; 百度网盘下载&#xf…

赛氪网受邀参加中国国际科技促进会第五届第五次常务理事扩大会议

2024年7月27日&#xff0c;环球赛乐&#xff08;北京&#xff09;科技有限公司&#xff08;以下简称“赛氪网”&#xff09;受邀参加了中国国际科技促进会第五届第五次常务理事扩大会议。此次会议汇聚了众多科技界的精英和专家&#xff0c;共同探讨科技发展的新方向&#xff0c…

【Mybatis】xml 配置文件

Mybatis的开发有两种方式&#xff1a; 注解XML 使用Mybatis的注解方式&#xff0c;主要是来完成一些简单的增删改查功能。 如果需要实现复杂的SQL功能&#xff0c;建议使用XML来配置映射语句&#xff0c;也就是将SQL语句写在XML配置文件中。在Mybatis中使用XML映射文件方式开…

Cxx primer-chap10-Generic Algorithms

generic algorithms的解释&#xff1a;&#xff0c;具体而言iterator使得算法与容器类型无关&#xff1a;&#xff0c;但算法的实现成功与否有时依赖于&#xff08;element type&#xff09;元素类型&#xff1a;通用算法的实现依赖于iterator&#xff0c;具体而言algorithm –…