当前位置: 首页 > news >正文

Numpy—数组的分隔与转置

⛳数组的切分

  • split 分隔
    • numpy.split 函数沿特定 的轴将数组分割为子数组,格式如下: numpy.split(ary, indices_or_sections, axis)
    • 参数说明:
      • arry:被分割的数组。
      • indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切 分的位置。
      • axis:沿着哪个维度进行切分,默认为 0,横向切分。为 1 时,纵向切分。

⛳transpose方法-数组的转置

  • NumPy是一个用于进行科学计算的Python库,其中包含了许多用于数组操作的函数和方法。transpose()是NumPy数组对象的方法之一,用于对数组进行转置操作。

  • 在NumPy中,可以使用transpose()方法来交换数组的维度。该方法返回一个新的数组视图,而不改变原始数组。

下面是transpose()方法的基本语法:

numpy.transpose(arr, axes)

参数说明:

  • arr:要进行转置操作的数组。
  • axes(可选):指定转置的维度顺序。它是一个整数元组,用于重新排列数组的轴。如果没有指定该参数,则默认为None。

示例用法:

import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])
transposed_arr = np.transpose(arr)print("Original Array:")
print(arr)print("\nTransposed Array:")
print(transposed_arr)

输出结果:

Original Array:
[[1 2 3][4 5 6]]Transposed Array:
[[1 4][2 5][3 6]]

在这个例子中,原始数组arr是一个2x3的数组。通过使用transpose()方法,我们将其转置为一个3x2的数组transposed_arr,其中原始数组的行变为转置数组的列。

注意:transpose()方法只是交换了数组的维度顺序,而不会改变数组中的实际元素顺序。如果想要改变数组中的元素顺序,可以使用reshape()方法或其他相关方法来重新排列数组。

🎯实战

# coding: utf-8import numpy as npx = np.arange(1, 9)
a = np.split(x, 4)
print(a)
print(a[0])
print(a[1])
print(a[2])
print(a[3])
# 传递数组进行分隔
b = np.split(x, [3, 5])
print(b)# split()函数分隔二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [11, 12, 13], [14, 15, 16]])
print('axis=0 垂直方向 平均分隔')
r = np.split(a, 2, axis=0)
print(r[0])
print(r[1])
print('axis=1 水平方向 按位置分隔')
r = np.split(a, [2], axis=1)
print(r)
print('=' * 30)# hsplit()的使用
grid = np.arange(16).reshape(4, 4)
a, b = np.hsplit(grid, 2)
print(a)
print(b)# vsplit()的使用
arr = np.arange(16).reshape(4, 4)
a, b = np.vsplit(arr, [3])
print('vsplit(arr, [3])的结果:')
print(a)
print(b)
print('vsplit(arr, [1, 3])的结果:')
a, b, c = np.vsplit(arr, [1, 3])
print(a)
print(b)
print(c)# transpose()函数的使用
# transpose 进行转置
# 二维转置
a = np.arange(1, 13).reshape(2, 6)
print('原数组a')
print(a)
print('转置后的数组')
print(a.transpose())# 多维数组转置
aaa = np.arange(1, 37).reshape(1, 3, 3, 4)
# 将1, 3, 3, 4转换为3, 3, 4, 1
print(np.transpose(aaa, [1, 2, 3, 0]).shape)

result:

[array([1, 2]), array([3, 4]), array([5, 6]), array([7, 8])]
[1 2]
[3 4]
[5 6]
[7 8]
[array([1, 2, 3]), array([4, 5]), array([6, 7, 8])]
axis=0 垂直方向 平均分隔
[[1 2 3][4 5 6]]
[[11 12 13][14 15 16]]
axis=1 水平方向 按位置分隔
[array([[ 1,  2],[ 4,  5],[11, 12],[14, 15]]), array([[ 3],[ 6],[13],[16]])]
==============================
[[ 0  1][ 4  5][ 8  9][12 13]]
[[ 2  3][ 6  7][10 11][14 15]]
vsplit(arr, [3])的结果:
[[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]
[[12 13 14 15]]
vsplit(arr, [1, 3])的结果:
[[0 1 2 3]]
[[ 4  5  6  7][ 8  9 10 11]]
[[12 13 14 15]]
原数组a
[[ 1  2  3  4  5  6][ 7  8  9 10 11 12]]
转置后的数组
[[ 1  7][ 2  8][ 3  9][ 4 10][ 5 11][ 6 12]]
(3, 3, 4, 1)进程已结束,退出代码0

相关文章:

Numpy—数组的分隔与转置

⛳数组的切分 split 分隔 numpy.split 函数沿特定 的轴将数组分割为子数组,格式如下: numpy.split(ary, indices_or_sections, axis)参数说明: arry:被分割的数组。indices_or_sections:如果是一个整数,就…...

PyTorch中级教程:深入理解自动求导和优化

在你已经掌握了如何使用PyTorch构建神经网络的基础上,接下来我们将深入探讨PyTorch的两个核心特性:自动求导(Autograd)和优化(Optimization)。这两个特性在深度学习模型的训练过程中起着至关重要的作用。 …...

ES6基础知识六:你是怎么理解ES6中 Promise的?使用场景?

一、介绍 Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大 在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码 doSomething(function(resu…...

数据库CAST()函数,格式(CAST AS decimal)

语法: CAST (expression AS data_type) 参数说明: expression:任何有效的SQServer表达式。 AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。 data_type:目标系统…...

LRU 缓存结构

文章目录 LRU实现 LRU 优先去除最久没有访问到的数据。 实现 通过组合哈希表(Hash Table)和双向链表(Doubly Linked List)实现 LRU 缓存。并且以 O(1) 的时间复杂度执行 get 和 put 操作核心是对节点的新增、访问都会让节点移动…...

DAY1,Qt [ 手动实现登录框(信息调试类,按钮类,行编辑器类,标签类的使用)]

1.手动实现登录框&#xff1b; ---mychat.h---头文件 #ifndef MYCHAT_H #define MYCHAT_H#include <QWidget> #include <QDebug> //打印信息 #include <QIcon> //图标 #include <QPushButton> //按钮 #include <QLineEdit> //行编辑器类 #in…...

25.8 matlab里面的10中优化方法介绍—— 拉各朗日乘子法求最优化解(matlab程序)

1.简述 拉格朗日乘子法&#xff1a; 拉格朗日乘子法&#xff08;Lagrange multipliers&#xff09;是一种寻找多元函数在一组约束下的极值的方法。通过引入拉格朗日乘子&#xff0c;可将有 变量与 约束条件的最优化问题转化为具有变量的无约束优化问题求解 举个例子&#xff…...

2023年自然语言处理与信息检索国际会议(ECNLPIR 2023) | EI Compendex, Scopus双检索

会议简介 Brief Introduction 2023年自然语言处理与信息检索国际会议(ECNLPIR 2023) 会议时间&#xff1a;2023年9月22日-24日 召开地点&#xff1a;中国杭州 大会官网&#xff1a;ECNLPIR 2023-2023 Eurasian Conference on Natural Language Processing and Information Retr…...

Python - 嵌入式数据库Sqlite3的基本使用

SQLite是一种轻量级的嵌入式关系型数据库管理系统&#xff0c;而Python标准库中提供了与SQLite交互的模块&#xff0c;sqlite3。下面是一个Python 3中使用sqlite3模块的详细示例与解析。 import sqlite3 # 创建或连接数据库 conn sqlite3.connect(example.db) # 创建一个…...

VB制作网页自动填表

VB制作简单模拟器教程入门版 第一讲 如何用VB编程打开一个网页&#xff1a; 由于是为做模拟器做铺垫&#xff0c;所以就不介绍别的方法&#xff0c;只介绍一种最简单的用webbrowser控件实现&#xff08;实际是其他的方法我还没有学会&#xff09;。 下面我们就开始步入模…...

Kotlin 和 Java对比,具体代码分析

目录 一、语法比较二、案列分析 Kotlin 和 Java 都是广泛使用的编程语言&#xff0c;它们有一些共同点&#xff0c;例如都追求面向对象编程&#xff0c;但也有许多不同之处。下面是 Kotlin 和 Java 之间的一些比较&#xff1a; 一、语法比较 声明变量&#xff1a;Kotlin 使用 …...

目标检测之3维合成

现在有一系列的图片&#xff0c;图片之间可以按照z轴方向进行排列。图片经过了目标检测&#xff0c;输出了一系列的检测框&#xff0c;现在的需求是将检测框按类别进行合成&#xff0c;以在3维上生成检测结果。 思路&#xff1a;将图片按照z轴方向排列&#xff0c;以z轴索引作…...

【playbook】Ansible的脚本----playbook剧本

Ansible的脚本----playbook剧本 1.playbook剧本组成2.playbook剧本实战演练2.1 实战演练一&#xff1a;给被管理主机安装Apache服务2.2 实战演练二&#xff1a;使用sudo命令将远程主机的普通用户提权为root用户2.3 实战演练三&#xff1a;when条件判断指定的IP地址2.4 实战演练…...

PySpark基本操作:如何查看源码

方法一&#xff1a; from pyspark.mllib.tree import GradientBoostedTrees import inspectsource_code inspect.getsource(GradientBoostedTrees) print(source_code) 方法二&#xff1a; GradientBoostedTrees — PySpark 3.4.1 documentation (apache.org) 在官网中&…...

HCIP——OSPF的防环机制

OSPF的防环机制 一、域间防环二、域内防环有向图转化1、有向图的画法2、示例&#xff1a; 三、SPF算法 OSPF将整个OSPF域划分为多个区域&#xff0c;区域内部通过拓扑信息计算路由&#xff0c;区域间传递路由信息&#xff0c;实现全网可达。OSPF防环机制主要是体现在域内防环和…...

安全基础 --- 正则表达式

正则表达式是表达文本模式的方法 正则表达式&#xff08;Regular Expression&#xff09;&#xff0c;简称为正则或Regex&#xff0c;是一个用来描述、匹配和操作字符串的工具。 &#xff08;1&#xff09;限定字符 限定字符多用于重复匹配次数 常用限定字符&#xff1a; 语…...

【vue】vue面试高频问题之-$nextTick的作用和使用场景

nextTick的作用和使用场景 vue中的nextTick主要用于处理数据动态变化后&#xff0c;DOM还未及时更新的问题&#xff0c;用nextTick就可以获取数据更新后最新DOM的变化 api文档 Vue.nextTick( [callback, context] ) 参数&#xff1a; {Function} [callback]{Object} [context]…...

MySQL学习笔记之SQL语句执行过程查看

文章目录 参数使能查看最近一条SQL执行过程查看profiling打开开后&#xff0c;所有SQL语句执行耗时查看某一条SQL的执行过程指定要查看的性能选项查看所有性能选项 参数使能 以select语句为例&#xff0c;首先打开profile参数&#xff1a; mysql> set profiling 1; Query…...

如何以毫秒精度,查看系统时间以及文件的创建时间

用 cmd 查看系统的时间&#xff1a; powershell -command "(Get-Date -UFormat %Y-%m-%d %H:%M:%S).toString() . ((Get-Date).millisecond)" 用 XYplorer 查看文件的精确创建时间&#xff08;含30天试用&#xff09;&#xff1a; XYplorer - File Manager for …...

基于机器学习的情绪识别算法matlab仿真,对比SVM,LDA以及决策树

目录 1.算法理论概述 2.部分核心程序 3.算法运行软件版本 4.算法运行效果图预览 5.算法完整程序工程 1.算法理论概述 情绪识别是一种重要的情感分析任务&#xff0c;旨在从文本、语音或图像等数据中识别出人的情绪状态&#xff0c;如高兴、悲伤、愤怒等。本文介绍一种基于…...

HARMONYOS应用实例246:互动七巧板拼图

项目二:互动七巧板拼图 功能介绍: 本应用模拟了中国传统智力玩具七巧板。屏幕上展示7块几何形状(三角形、正方形、平行四边形),支持拖动平移和点击旋转操作。用户可以自由拼接图形,拼出各种造型。该应用帮助学生直观理解图形的平移、旋转、对称等几何变换,以及面积守恒…...

Torch-Pruning支持神经辐射场(NERF):3D重建模型压缩终极指南

Torch-Pruning支持神经辐射场(NERF)&#xff1a;3D重建模型压缩终极指南 【免费下载链接】Torch-Pruning [CVPR 2023] Towards Any Structural Pruning; LLMs / Diffusion / Transformers / YOLOv8 / CNNs 项目地址: https://gitcode.com/gh_mirrors/to/Torch-Pruning 神…...

Git GUI里那些小箭头和蓝点到底是啥?一份给新手的保姆级图解指南

Git GUI可视化指南&#xff1a;解码提交历史中的符号与分支拓扑 第一次打开Git GUI的提交历史视图时&#xff0c;那些彩色线条、小蓝点和神秘箭头就像天书般令人困惑。作为从SVN过渡到Git的开发者&#xff0c;我曾盯着这些符号发呆半小时——直到发现它们其实是项目历史的可视化…...

STM32磁悬浮平衡术(一):PID算法调校与硬件选型指南

1. PID算法&#xff1a;磁悬浮系统的"大脑" 磁悬浮系统的核心挑战在于如何让浮子稳定悬浮。想象一下&#xff0c;你要用手指顶着一根铅笔保持直立——这需要不断微调手指的位置来抵消铅笔的倾斜。PID算法就是STM32中扮演这个"微调手指"角色的关键程序。 PI…...

前端埋点数据爆炸?WebTracing缓存策略与采样率配置避坑指南

前端埋点数据治理实战&#xff1a;WebTracing缓存策略与采样率配置深度解析 当你的应用日活突破百万量级时&#xff0c;埋点数据会像雪崩一样涌向服务器。某电商平台曾因未合理配置前端监控&#xff0c;导致单日产生2.3TB冗余埋点数据&#xff0c;不仅每年浪费数百万云存储成本…...

基于国标12190-2021的电磁屏蔽箱多频段测试优化方案

1. 电磁屏蔽箱测试的核心挑战与国标12190-2021的价值 当你第一次接触电磁屏蔽箱测试时&#xff0c;可能会被各种专业术语和复杂的测试流程搞得晕头转向。我刚开始做这行时&#xff0c;最头疼的就是如何确保测试结果既全面又准确——特别是在不同频段下&#xff0c;屏蔽效能差异…...

MOOTDX终极指南:Python通达信数据接口让量化分析变得简单高效

MOOTDX终极指南&#xff1a;Python通达信数据接口让量化分析变得简单高效 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 你是否曾为获取股票数据而烦恼&#xff1f;面对复杂的API接口和繁琐的数据…...

开源字体破局者:思源宋体TTF的免费商用解决方案

开源字体破局者&#xff1a;思源宋体TTF的免费商用解决方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 在数字设计领域&#xff0c;寻找兼具专业品质与商业授权的中文字体一直是设…...

出国旅行手机没信号?Nrfr免Root工具一键解锁全球网络

出国旅行手机没信号&#xff1f;Nrfr免Root工具一键解锁全球网络 【免费下载链接】Nrfr &#x1f30d; 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题&#xff0c;帮助使用海外 SIM 卡获得更好的本地化体验&#xff0c;解锁运营商限制&#xff0c;突破区域限制…...

Matlab与VeriStand无缝集成:开发环境配置全攻略

1. 环境准备&#xff1a;软件安装与版本匹配 搞过Matlab和VeriStand集成的朋友都知道&#xff0c;最头疼的不是写代码&#xff0c;而是环境配置。我当年第一次尝试时&#xff0c;光软件版本兼容性问题就折腾了两天。这里分享几个血泪教训&#xff1a; 首先Matlab和VeriStand的版…...