【python】把6*5的数组变成3个2*5的新数组,第一行和第四行在一起,第二行和第五行在一起,第三行和第六行在一起,以及更复杂的9*5如何用循环实现

news2024/9/9 5:28:50

要将一个 6 × 5 6 \times 5 6×5 的数组变换为三个新的 2 × 5 2 \times 5 2×5 数组,并且让原数组的第1行和第4行成为第一个新数组,第2行和第5行成为第二个新数组,第3行和第6行成为第三个新数组,可以使用NumPy的索引和切片功能。

以下是实现这一转换的代码示例:

import numpy as np

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

# 按要求进行重组
new_array1 = original_array[[0, 3], :]
new_array2 = original_array[[1, 4], :]
new_array3 = original_array[[2, 5], :]

# 显示结果
print("Original Array:\n", original_array)
print("\nNew Array 1:\n", new_array1)
print("\nNew Array 2:\n", new_array2)
print("\nNew Array 3:\n", new_array3)

在这段代码中:

  • original_array 是一个形状为 (6 \times 5) 的示例数组。
  • original_array[[0, 3], :] 选择了第1行和第4行组成新的数组 new_array1
  • original_array[[1, 4], :] 选择了第2行和第5行组成新的数组 new_array2
  • original_array[[2, 5], :] 选择了第3行和第6行组成新的数组 new_array3

这种方法利用了NumPy的高级索引功能,可以轻松地选择任意行的组合。

运行结果:

Original Array:
 [[ 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]]

New Array 1:
 [[ 0  1  2  3  4]
 [15 16 17 18 19]]

New Array 2:
 [[ 5  6  7  8  9]
 [20 21 22 23 24]]

New Array 3:
 [[10 11 12 13 14]
 [25 26 27 28 29]]

由于当前环境的限制,无法直接执行代码。但是,我可以为您提供在本地实现此功能的代码示例:

import numpy as np

# 创建一个 9x5 的示例数组
original_array = np.arange(45).reshape(9, 5)

# 初始化列表来存储新的 2x5 数组
new_arrays = []

# 循环实现
for i in range(3):
    new_arrays.append(original_array[i::3, :])

# 显示结果
print("Original Array:\n", original_array)
for idx, arr in enumerate(new_arrays):
    print(f"\nNew Array {idx+1}:\n", arr)

在这段代码中:

  • original_array 是一个形状为 9 × 5 9 \times 5 9×5 的示例数组。
  • 我们使用一个循环来创建新的数组,每个新的数组包含 original_array 的某些行。具体来说,i::3 的切片表示从索引 i 开始,以步长 3 选择行。因此,original_array[0::3, :] 选择第1、4、7行,original_array[1::3, :] 选择第2、5、8行,original_array[2::3, :] 选择第3、6、9行。

每个 new_arrays[i] 结果都是一个 3 × 5 3 \times 5 3×5 的新数组。您可以在本地运行这段代码,以查看和验证结果。

运行结果:

Original Array:
 [[ 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]
 [30 31 32 33 34]
 [35 36 37 38 39]
 [40 41 42 43 44]]

New Array 1:
 [[ 0  1  2  3  4]
 [15 16 17 18 19]
 [30 31 32 33 34]]

New Array 2:
 [[ 5  6  7  8  9]
 [20 21 22 23 24]
 [35 36 37 38 39]]

New Array 3:
 [[10 11 12 13 14]
 [25 26 27 28 29]
 [40 41 42 43 44]]

在NumPy中,语法 original_array[0::3, :] 表示对数组进行切片操作。具体而言:

  • 0 是起始索引,表示从数组的第0行(第一行)开始。
  • ::3 是步长,表示每隔3行选择一行。
  • : 是列的选择,这里表示选择所有列。

所以,original_array[0::3, :] 会选择原始数组的第1、4、7行。

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

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

相关文章

基于GEC6818开发板+Linux+Qt设计的智能养老院出入管理系统(195)

一、前言 1.1 项目介绍 【1】项目功能介绍 随着我国老龄化进程的加快,养老问题日益突出,如何有效保障老年人的生活质量与安全成为社会关注的重点。智能化、信息化技术的发展为解决这一问题提供了新的思路和手段。基于Linux系统的智能养老院出入管理系统应运而生,为了实现…

记录一次使用Docker部署skywalking的过程

临时一个测试系统需要追一下bug,所以计划单节点部署一套skywalking进行调用链分析。 网上扒拉了几篇,都有点问题,这里单独记录一个。 首先skywalking需要是用es做数据源,当然也有mysql等多个版本,这里用的es。 同时…

使用JavaFx Fxml笔记

使用JavaFx Fxml实现账号密码登录 HelloApplication.java:package com.example.dr295cmonth7;import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.geometry.Insets; import javafx.scene.Parent; import javafx.scene.Scene; i…

Pinely Round 4 (Div. 1 + Div. 2)

有不明白或者想交流一下的可以加一下扣扣:2674993642,博客一般写的时候才看 A. Maximize the Last Element 解析:题目要让一次删除两个相邻的数字,最后留下尽可能最大的数字,赛时我用笔模拟了一下,发现如…

c++11,左值引用和右值引用,右值引用的作用

目录 左右值引用概念 右值引用的作用 左右值引用概念 什么是左值?什么是左值引用? 左值是一个表示数据的表达式(如变量名或解引用的指针),我们可以获取它的地址可以对它赋 值,左值可以出现赋值符号的左边,右值不能出…

最详细最新最简单的Jenkins安装使用

首先去jenkins官网下载最新LTS war版本https://www.jenkins.io/download/ 准备sdk包 、nginx配置文件 、已配置的maven文件 查看系统架构 cat /etc/redhat-release uname -a uname -m lscpu安装常用工具 yum install jq -y yum install git -yyum install nginx -y systemc…

深入源码:解析SpotBugs (6)jvm 字节码简介

文章目录 一、JVM字节码概述一、文件结构概述二、详细解析1. 魔数和Class文件的版本2. 常量池3. 访问标志4. 类索引、父类索引与接口索引集合5. 字段表和方法表6. 属性表 字节码Spotbugs 作为一名资深的Java开发工程师,对JVM及其字节码有着深入的理解。现在&#xf…

DRAM 和 NAND 闪存收入将在 2024 年显著增长 75% 和 77%

#### 市场概况 根据 TrendForce 最新发布的市场报告,预计 2024 年 DRAM 和 NAND 闪存的收入将分别显著增长 75% 和 77%,这一增长主要是由于平均价格的上涨以及高价值产品的兴起,例如 HBM(高带宽内存)和 QLC&#xff0…

卷积神经网络(六)---实现 cifar10 分类

cifar10 数据集有60000张图片,每张图片的大小都是 32x32 的三通道的彩色图,一共是10种类别、每种类别有6000张图片,如图4.27所示。 图 4.27 cifar数据集 使用前面讲过的残差结构来处理 cifar10 数据集,可以实现比较高的准确率。 …

配置本地开发服务器代理请求以及登录模块开发(二)

项目初始化完成之后,准备开始进行项目的开发,首先配置好开发环境作为整个项目的基础 一、配置代理 1、config/proxy.ts配置代理 export default {// 如果需要自定义本地开发服务器 请取消注释按需调整dev: {// localhost:8000/api/** -> https://p…

Seata 入门与实战

一、什么是 Seata Seata 是一款开源的分布式事务解决方式,致力于提供高性能和简单易用的分布式事务服务。Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式事务解决方案。 二、Seata 组成 事务协调者(Transacti…

什么是Shell?怎么编写和执行Shell脚本?

大家好呀!今天来简单介绍一下Shell基础,Shell介于内核与用户之间,是一个命令解释器,负责命令的解释。简单理解,Shell既是一个程序也是一种脚本语言。 1、shell介绍 1.1 概述 shell介于内核与用户之间,是一个…

索引结构—B+Tree索引、Hash索引、Full-Text(全文)索引、R-Tree(空间)索引

一、概述 在数据库系统中,索引是一种用于加快数据检索的数据结构。不同的索引结构适用于不同的查询场景和数据特性。索引按照不同角度可以划分不同类型的索引。按照数据结构可以划分BTree索引、Hash索引、FULL TEXT(全文)索引、R-Tree&#…

python inf是什么意思

INF / inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数的范围(或者说超过了 double 类型的值)。例如,当用 0 除一个整数时便会得到一个1.#INF / inf值;相应的,如果…

卡码网KamaCoder 103. 水流问题

题目来源&#xff1a;103. 水流问题 C题解&#xff1a;从边界往高处走&#xff0c;走过的地方做标记。第一组边界跟第二组边界能走到的地方取交集。 代码来源代码随想录。&#xff08;虽然思路一样&#xff0c;但人家代码写得比我好哇&#xff09; #include <iostream>…

pyinstaller带浏览器一起打包playwright 独立运行exe

前置条件 没有安装自带环境&#xff0c;则 playwright install 安装了自带的浏览器 查看playwright的浏览器的位置 playwright install --dry-run 打开此文件夹可以看到 新建一个多层级目录playwright\driver\package.local-browsers 然后复制chromium-1124到playwright\dr…

听说它可以让代码更优雅

一提到静态代码检查工具这个词应该比较好理解&#xff0c;所谓静态代码检查工具就是检查静态代码的工具&#xff0c;完美~ 言归正传&#xff0c;相信很多程序员朋友都听说过静态代码检查工具这个概念&#xff0c;它可能是我们IDE里的某一个插件&#xff0c;可能是计算机中的一…

比 faster-whisper 至少快10倍的音视频转换文字

背景介绍 前两天我自己玩玩搞搞一个音频转文字服务&#xff0c;基于 faster-whisper&#xff0c;本想着这个已经是很快的了&#xff0c;没想到还有比它更快的&#xff0c;今天就来介绍使用一下。 FunClip&#xff0c;是阿里巴巴推出的一个智能视频剪辑工具&#xff0c;它结合…

计算机毕业设计选题推荐-某炼油厂盲板管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

[Bugku] web-CTF靶场详解!!!

平台为“山东安信安全技术有限公司”自研CTF/AWD一体化平台&#xff0c;部分赛题采用动态FLAG形式&#xff0c;避免直接抄袭答案。 平台有题库、赛事预告、工具库、Writeup库等模块。 ------------------------------- Simple_SSTI_1 启动环境&#xff1a; 页面提示传入参数f…