图解数据分析(11) | Numpy - 与高维数组操作(数据科学家入门·完结)

python numpy 一维数组转变为多维数组的实例 如下所示: import numpy new_list = [i for i in range(9)] numpy.array(new_list).reshape(3,3) 借助numpy库; 以上这篇python numpy 一维数组转变为多维数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python二维列表一维列表的互相转换实例Python的numpy库中将矩阵转换为列表等函数的方法python的dataframe转换为多维矩阵的方法Python嵌套列表转一维的方法(压 立即下载

ShowMeAI研究中心


n维数组是NumPy的核心概念,大部分数据的操作都是基于n维数组完成的。本系列内容覆盖到1维数组操作、2维数组操作、3维数组操作方法,本篇讲解Numpy与3维、更高维数组的操作。

有时候我们会使用到3维或者更高维的NumPy数组(比如计算机视觉的应用中),通过重塑1维向量或转换嵌套Python列表来创建3维数组时,索引分别对应(z,y,x)。索引z是平面编号,(y,x)坐标在该平面上移动,如下图所示:

通过上述索引顺序,可以方便的保留灰度图像,a[i]表示第i个图像。

但这样的索引顺序并不具有广泛性,例如在处理RGB图像时,通常使用(y,x,z)顺序:首先是两个像素坐标,然后才是颜色坐标(Matplotlib中的RGB,OpenCV中的BGR):

这样可以方便地定位特定像素,如a[i,j]给出像素(i,j)的RGB元组。

因此,几何形状的创建实际取决于你对域的约定:

显然,hstack,vstack或dstack之类的NumPy函数并不一定满足这些约定,其默认的索引顺序是(y,x,z),RGB图像顺序如下:

如果数据不是这样的布局,使用concatenate命令可以方便的堆叠图像,并通过axis参数提供索引号:

如果不考虑轴数,可以将数组转换hstack和相应形式:

这种转换非常方便,该过程只是混合索引的顺序重排,并没有实际的复制操作。

通过混合索引顺序可实现数组转置,掌握该方法将加深你对3维数据的了解。根据确定的轴顺序,转置数组平面的命令有所不同:对于通用数组,交换索引1和2,对于RGB图像交换0和1:

注意,transpose(a.T)的默认轴参数会颠倒索引顺序,这不同于上述述两种索引顺序。

广播机制同样适用多维数组,更多详细信息可参阅笔记“ NumPy中的广播”。

最后介绍einsum(Einstein summation)函数,这将使你在处理多维数组时避免很多Python循环,代码更为简洁:

该函数对重复索引的数组求和。在一般情况下,使用np.tensordot(a,b,axis=1)就可以,但在更复杂的情况下,einsum速度更快,读写更容易。

一键运行所有代码

图解数据分析系列 配套的所有代码,可前往ShowMeAI 官方 GitHub,下载后即可在本地 Python 环境中运行。能访问 Google 的宝宝也可以直接借助 Google Colab一键运行与交互学习!

下载数据分析速查表

Awesome cheatsheets | ShowMeAI速查表大全 系列包含『编程语言』『AI技能知识』『数据科学工具库』『AI垂直领域工具库』四个板块,追平到工具库当前最新版本,并跑通了所有代码。点击 官网 或 GitHub 获取~

👇 数据分析相关速查表(部分):

内容速查表(部分)Github代码
Python 3速查表Python 3速查表一键运行速查表代码 - Python
Numpy 速查表Numpy 速查表一键运行速查表代码 - Numpy
Pandas 速查表Pandas 速查表一键运行速查表代码 - Pandas
Matplotlib 速查表Matplotlib 速查表一键运行速查表代码 - Matplotlib
Seaborn 速查表Seaborn 速查表一键运行速查表代码 - Seaborn

拓展参考资料

ShowMeAI图解数据分析系列推荐(数据科学家入门)

ShowMeAI系列教程精选推荐

手眼标定(EyeToHand)推导 Base为基坐标系(B),工具末端坐标系(T),标定板为Mark坐标系(M),相机坐标系(C)对于每两个姿态都存在上式,组成一个AX=XB的矩阵方程,X为。此时转换成AX=0的问题,单纯用SVD求奇异解便可得到。相机坐标系到Base基坐标系下的转换关系。已知标定板与机械臂末端的相对位置固定不变,,即。带入(2)式求,至此求解出需要的手眼矩阵。在眼在手外的时候,其实是要求解。 阅读详情

相关推荐

从模态到颤振:深入解读Nastran的V-g/V-f图,判断你的机翼设计是否安全

本文深入解析Nastran中的V-g/V-f图在机翼颤振分析中的应用,帮助工程师准确判断设计安全性。通过模态分析到颤振边界的完整判读逻辑,结合气动弹性特性,指导优化机翼结构设计,确保飞行安全。

weixin_28732953的博客 474

高维数组

文章目录三维数组的创建使用下标创建用低维数组创建高维数组用函数创建三维数组cat函数repmat函数reshape函数特殊高维数组的创建 三维数组的创建 使用下标创建   习惯的,将二维数组的第一维称为行,第二维称为列,对于三维数组的第三维称为页。   三维以及三维以上的数组称为高维数组,由于高维数组比较抽样,这里主要以三维数组为例介绍如何创建高维数组。 A(2,2,2) = 1; ...

The_last_knight的博客 2837

Element Server Suite社区版Helm部署:私有Matrix聊天服务器快速搭建指南

在云原生和微服务架构日益普及的今天,容器化部署已成为现代应用交付的标准范式。Kubernetes作为容器编排的事实标准,通过声明式配置和自动化管理,极大地简化了复杂分布式系统的部署与运维。Helm作为Kubernetes的包管理器,通过预定义的Chart模板,将应用及其依赖打包,实现了真正的“一键部署”,显著提升了部署效率和可重复性。这种技术组合的价值在于,它让开发者能够专注于业务逻辑,而非底层基础设施的复杂性,尤其适用于需要快速搭建、易于维护的服务场景。Element Server Suite Commu

weixin_42610010的博客 301

Numpy图解(三)--高维数组

目录 高维数组 创建数组 高维数组运算 连接函数hstack、vstack和dstack 堆叠函数concatenate 求和函数einsum 高维数组 创建数组 通过重排一维向量或转换嵌套的Python列表来创建3D数组时,索引的含义为(z,y,x)。 第一个索引是平面的编号,然后才是在该平面上的移动: 这种索引顺序很方便,例如用于保留一堆灰度图像:这a[i]是引用第i个图像的快捷方式。 但是此索引顺序不是通用的。处理RGB图像时,通常使用(y,x,z)顺序:前两个是像素坐标,

Hanscal 3363

NSIDC海冰运动产品-速度矢量场图绘制(数据下载和处理--年、季节平均)【python/basemap】

入门级NSIDC海冰运动产品速度矢量场图绘制(数据下载和处理--年、季节平均)【python/basemap】

Mluoo的博客 2959

VSCode多文件C语言项目编译实战:从配置到运行

本文详细讲解了如何在VSCode中配置多文件C语言项目的编译环境。通过手把手教学,指导读者创建项目结构、编写代码,并重点深度配置task.json与launch.json文件,实现一键编译和调试所有C文件,解决常见的“undefined reference”等链接错误,提升开发效率。

g8f9d0s1a2的博客 1098

C语言学习篇-7数组、二维数组、高维数组

说明:本文主要对数组进行阐述,并对二维及高维数组进行举例。数组 数组:用来存储一组同种类型数据的构造数据类型称之为数组。数组属于构造类型; 具有相同数据类型的成员组成的一组数据; 存储不同类型数据的数组有对应的名称,整型数组:数组中成员变量都是整型的;浮点型数组:数组中成员变量都是浮点型的; 数组是由多个成员组成,每个成员被称为数组元素。 如何定义数组? 格式:类型修饰符 数组名[元素个数或常量表

DH_Fantasy的博客 5035

【经验分享】使用Keil5烧录代码遇到的问题及解决方法

本文介绍了在使用Keil5烧录代码过程中可能遇到的常见问题,主要为编译错误和下载失败,并提供了解决方案和注意事项。通过本文中提供的具体解决方案和注意事项,希望能够帮助读者更加顺利地进行Keil5烧录代码操作,提高开发效率和成果实现。

qq_63195670的博客 1万+

C++高维数组

所谓的高位数组就是,一个数组存储的其他数组的地址。下面以二维的数组为例,请看下面的代码示例//二级指针指向一个整型指针数组i < 5;i++)//每个指针指向一个大小为5的数组i < 5;j++)从上面对高维数组的遍历当中可以看到,这样就可以像使用矩阵那样去使用这个高维数组。我们完全可以,对地址进行一些偏移计算,让一维数组伪装成高维的数组,这样可以提高程序的运行效率。通过一些封装,我们不再需要手动去管理数组的规模。

qq_45651072的博客 2002

微信小程序使用TCP通信

最终目的:在微信小程序内实现对局域网发起TCP通信实现步骤:建立TCP服务 + 小程序发起通信。

Big_YiFeng的博客 5612

Simulink机电仿真避坑指南:如何用MATLAB解决液压系统建模的3大典型问题

本文针对液压系统建模在Simulink动态仿真中常见的三大难题——参数物理意义缺失、模型收敛性差及性能优化瓶颈,提供了专业的MATLAB解决方案。文章详细阐述了如何从物理参数推导仿真模型、破解代数环与刚性系统问题,并分享了模型降阶与加速技巧,旨在帮助工程师构建精确高效的机电系统仿真模型。

o9p0q1的博客 295

高维数组对象的理解

高维数组对象的理解。

rylrmr的博客 816

vue2/3 - element表格组件el-table实现懒加载树型(上下级)数据、默认展开和隐藏层级,支持对表格进行修改|新增|删除,解决完成操作后树节点不刷新问题(提供示例代码,一键复制开箱即用

vue2,vue3,elementui,elementPlus,el-table,Table表格组件,表格懒加载数据,element table表格数中的树形结构懒加载,增加后数据不同步更新问题,el-table树形与el-tree树形结构的一键折叠与展开,elementui中el-tree懒加载数据 默认展开最外层节点,Element-plus Table组件树表结构默认展开一级目录,vue实现element table表格树形结构-使用懒加载时-解决子节点增删改后,不刷新子节点数据问题,解决el-tre

✅ 精选推荐文章 1万+

图解数据分析(8) | Numpy - 统计与数据科学计算工具库介绍(数据科学家入门·完结)

n维数组是NumPy的核心概念,大部分数据的操作都是基于n维数组完成的。本系列内容覆盖到1维数组操作、2维数组操作、3维数组操作方法,本篇为系列导入文章,讲解数组的特点、与列表的对比等。......

ShowMeAI研究中心 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

图解数据分析:从入门到精通系列教程

数据分析是一项应用非常广泛的技能。本系列教程展开讲解数据分析。这套数据分析教程不同于其他文字版教程,我们以最直挂的「图示」对每个内容和关键点「可视化」,配以最精准精简的代码,让大家尽快入。.........

ShowMeAI研究中心 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

视频教程-Python数据分析与科学计算基础篇:NumPy图解,使抽象的数据具象为可触摸的图形-深度学习

Python数据分析与科学计算基础篇:NumPy图解,使抽象的数据具象为可触摸的图形 ...

weixin_32615729的博客 212

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python计算图解_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_39883129的博客 136

python numpy 数组转置_数组转置_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_30074763的博客 107

python高维数据的读取_索引访问高维数组_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_39807954的博客 134

python读取图片数据一维数组_数组的读取_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_30889555的博客 219

python定义矩阵内数据类型_指定数组数据类型_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_39610366的博客 87

python中full函数_使用full函数_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_30784365的博客 407

python 中arange函数_使用arange函数_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_33601504的博客 91

python画图数据的平均值怎么算的_mean(平均值)_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_39819327的博客 219

python 正态分布随机数_正态分布随机数_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_39790168的博客 138

python相关性分析 排序_排序_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

购买本课程所在专题《Python数据分析师:0基础到数据分析达人》https://edu.51cto.com/topic/2570.html,赠送一本“Python相关图书”。详细情况请见博客通过本课程学习您可以学习到NumPy库如下知识:第1章 NumPy简介:NumPy是什么?第2章 环境搭建:安装NumPy等库、安装Anaconda、开发工具(IPython shell、Jupyter No...

weixin_39704246的博客 152
上一篇: 图解数据分析(10) | Numpy - 与2维数组操作(数据科学家入门·完结)
下一篇: 图解数据分析(12) | Pandas - 数据分析工具库介绍(数据科学家入门·完结)
ShowMeAI
博客等级 码龄5年 6514粉丝 672原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值