轴方向 参数 axis Python进阶篇 (轴向ax)
本文目录导航:
【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基础教程】第59篇 函数进阶之可变参数
了解函数的可变参数,特意是*args,对Python编程来说至关关键。
*args准许咱们在函数中传递恣意数量的参数,提高函数的灵敏性和复用性。
上方咱们以元组解包和函数传参为例深化讨论。
在定义函数时,经常使用 *args可以让咱们接纳多个参数,并将它们以元组方式存储。
例如,将(10,20)传递给函数后,经过 *args,可以将10和20区分赋给变量x和y。
除了单个*args之外,咱们还可以定义多个带星号的参数,如**kwargs,这准许咱们将关键字参数作为字典方式传递给函数,从而解决具备不确定数量关键字参数的状况。
经常使用可变参数不只简化了函数设计和调用环节,还能让咱们编写出更灵敏、更容易顺应不同场景的代码。
然而,必定留意遵照正确的参数传递顺序,以防止异常的函数调用行为。
例如,假设在定义函数时先经常使用了 *args,随后再尝试传递位置参数,则这将造成语法失误。
总结,把握可变参数不只能够协助你编写更高效、更灵敏的代码,同时也使得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程序员提供了一种在循环完结后口头特定代码的高效方式,简化了代码结构,提高了编程效率。