axis Python进阶篇 参数 轴方向

axis Python进阶篇 参数 轴方向

本文目录导航:

【Python进阶篇】轴方向(axis)参数|图解 + 示例代码

在NumPy的多维数组中,轴方向(axis)参数是用于指定操作的方向或维度的。

这里,“约减”操作指的是将泛滥数据依照规定兼并为较少数据的环节。

如数组加法,即是“约减”操作,其将泛滥元素启动加法运算后兼并为少数值。

例如,求取N维数组的均值、最大值、最小值等操作,也都是“约减”操作。

更进一步,可以对指定维度方向的数据启动统计,如求行(或列)的和、均值、最大值、最小值等。

此时,需明白指定操作的轴方向。

轴方向参数自动值为None,示意一切数据都将启动“约减”操作,兼并为一个元素。

若轴方向为0,了解为从垂直方向启动“约减”。

若为1,则了解为从水平方向启动“约减”。

指定方向的示例代码如下:咱们经常使用主要字参数axis=0示意垂直方向的约减,row[6]给出整数值1,同等于axis=1,示意水平方向的约减。

关于高维数组而言,约减操作的顺序也可以指定,这时轴值可以是一个向量,如axis=[1,0]示意先水平方向约减,再垂直方向约减;axis=[0,1]示意先垂直方向约减,再水平方向约减。

若未指定方向,则默以为一切维度依次约减。

虽然图解释直观,但对维度大于2的状况了解较为艰巨。

更通用的解释方法是依据括号档次了解。

括号的外层对应最高维度,内层对应较低维度。

例如,三维数组[[[1,1,1], [2,2,2]], [[3,3,3], [4,4,4]]],其维度为[0,1,2]。

指定sum()函数的axis=0时,口头最高维度(第0个维度)的元素求和操作,结果为[[4,4,4], [6,6,6]]。

轴的个数对应张量的维度,张量的“阶”(rank)实践上也是轴的数量。

轴的数量可以用ndim属性示意。

例如,二维数组有两条轴,三维数组有三条轴。

轴的概念用于管理操作的方向,如axis=1示意对第二维度启动操作,axis=2示意对第三维度启动操作。

详细操作为对同一括号档次内的元素口头求和、平均等操作。

“约减”操作实施对象是同一括号档次内的元素。

轴操作使得某些维度隐没,实质上是在该维度上口头求和等操作。

这与经常使用einsum()函数造成的“降维打击”分歧,轴参数定义了“降维打击”的维度。

其余可启动“约减”的函数,如最大值、最小值和均值等,其轴方向的约减操作原理相似。

详细操作和更多细节可以参考NumPy官网文档启动学习。

Python进阶(一)match-case

深化探求Python进阶语法:match-case语句在Python的基础学习阶段,曾经涵盖了基本语法,接上去让咱们讨论一些更初级的个性,match-case语句就是其中一种,它提供了一种优雅的多值条件判别方式,让代码愈加繁复。

match-case语句是Python 3.10版本引入的一个个性,实质上是对传统的if-elif结构的更新版,旨在简化多条件判别的代码逻辑。

在经常使用if-elif时,虽然能够成功多条件判别,但操作不够优雅且在条件复杂时易产生逻辑破绽。

而match-case语句则提供了更优解。

基本语法方面,match-case的结构如下:最后的case _: 相当于if-elif结构中的else局部,可以婚配任何值。

在解决标量值时,match-case可以婚配常量和枚举值。

须要留意的是,变量不能作为case后的婚配值。

婚配标量不只限于数值,也可以是字符串。

例如:多值婚配时,可以经常使用管道符(|)将多个值分隔,成功更灵敏的条件判别。

match-case语句仅允许OR形式,不蕴含AND形式,这在设计上与C、JAVA言语的switch-case结构有所区别。

解决枚举值时,可以定义枚举类型,而后应用match-case语句启动条件婚配,它将枚举值视为标量解决。

初级语法中,match-case语句可以联合条件表白式经常使用,只要当条件表白式满足时,才会婚配相应的case。

在解决元组或列表时,可以婚配整个常量或只婚配局部,未绑定的局部经常使用变量替代,match-case语句提供了基于位置的绑定变量个性。

经常使用“_”作为通配符可婚配恣意数量的元素,关于多个变量则经常使用“*”作为通配符。

在字典婚配中,键必定为常量,值局部则可经过变量绑定失掉。

经常使用“**valuename”可婚配除已婚配外的一切其余字典。

在字典婚配中,任何含有待婚配形式的键都会被婚配,字典键值对的顺序无需特定要求。

在match-case语句中,通配符“_”和“*”可以组合经常使用,以婚配恣意数量的元素。

match-case允许对基础类型及不须要构建参数的自定义类启动类型婚配。

关于无构建参数的自定义类,可间接经常使用match-case语句婚配,但只启动类型比拟,不触及值的比拟。

当两个类之间存在承袭相关时,子类能被父类婚配。

例如,先婚配父类会造成子类与父类同时婚配。

关于有构建参数的自定义类,须要指定参数值,否则会报错。

且在婚配时,会审核构建参数能否相等,但不会审核类的自有变量。

自定义类也可像元组、列表一样成功参数绑定,经过在参数等号前面减少绑定变量名来成功。

绑定变量名可以是通配符“_”,婚配恣意值。

在组合经常使用各种婚配方式时,可以构成复杂的代码结构,提高代码的可读性和繁复性。

深化了解match-case语句,能够协助咱们编写愈加优雅和高效的Python代码。

【Python基础教程】第55篇 循环进阶之for…else语句

本文将深化讨论Python中的for…else语句,了解其基本语法和共同配置。

for else语句提供了一种在循环完结后口头特定代码的方式,与惯例编程言语(如Java或C#)有所不同。

若循环反常完结,将口头else局部。

假设在循环中调用break语句,则不会口头else局部。

雷同,假设iterables对象为空,else局部亦将口头。

上方是for else语句的口头流程图,以供参考。

接上去,将经过一个示例来直观展现其用法。

假定有一个蕴含人员消息的列表,每个成员以字典方式存储姓名和年龄。

如今,咱们的指标是经过姓名查找人员。

假设找到了对应人员,则输入相关消息。

若未找到,显示未找到相关人员的消息。

为此,编写如下程序: 程序运转环节如下: 运转结果示例: 程序能够反常运转。

若经常使用for else语句,则代码可以更繁复。

例如: 修正后的程序应用for else语句,不再须要额外的found标志以及循环后的if语句判别。

经常使用for else语句后,若输入姓名在people列表中,将显示人员消息并经常使用break分开循环。

此时,else局部不会口头。

总结,for else语句为Python程序员提供了一种在循环完结后口头特定代码的高效方式,简化了代码结构,提高了编程效率。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

33阅读

外国教程python,python编程教学视频

2026年09月02日

27阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

27阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

23阅读