Numpy基础操作:数组之间形状相互转换

ndarray对象提供了一些可以便捷地改变数组基础形状的属性和方法,例如,将一个3行4列的二维数组转换成6行2列的二维数组,关于这些属性和方法的具体说明如表9-3所示。

Numpy基础操作:数组之间形状相互转换

上述这些方法都能够改变数组的形状,但是,reshape()、ravel()方法和T属性返的都是一个已经修改的新数组,并不会修改原始数组。例如:

>>> import numpy as np>>> arr = np.array([[1, 2, 3], [4, 5, 6]]]    #创建一个2行3列的数组>>> arrarray([[1, 2, 3],      [4,5,6]])>>> new_arr = arr.reshape((3, 2))     #返回维度为(3,2)的数组>>> new arrarray([[1, 2],      [3,4],      [5,6]])>>> arr.ravel()     #对数组进行降维处理array([1, 2, 3, 4, 5, 6])>>> arr.T           #对数组进行轴对换array([[1, 4],      [2,5],      [3,6]])>>> arr            #查看原始数组是否发生变化array([[1, 2, 3],    [4,5,6]])

numpy数组制样支持索引和切片操作,具体的用法与序列类型相似。例如:

>>>arr = np.arange(1,9).reshape((4,22)) #生成4行2列的数组>>> arrarray([[1, 2],      [3,4],      [5,6],      [7,8]])>>> arr[2]            #获取第2行数据array([5, 6])>>> arr[1:3]          #获取第1~2行数据array([[3, 4],      [5,6]])

除此之外,numpy中提供了一批具有基本数学运算功能的函数,如表9-4所示。

表9-4 numpy模块的算术运算函数

Numpy基础操作:数组之间形状相互转换

表9-4中列举的所有运算函数的参数y都是可选的,如果指定了参数y,结果将被保存到y中,比如np.add(a,b,a)表示a+=b;如果没有指定参数y,结果将被保存到一个新创建的数组中,比如c=np.add(a,b)表示c=a+b。

数组无须循环遍历便可以对每个元素执行批量的算术操作,也就是说形状相同的数组之间执行算术运算时,会应用到位置相同的元素上进行计算。例如,数组a=[1,2,3]和数组b=[4,5,6],a*b所得的结果为1*4、2*5和3*6组成的一个新数组。若两个数组的基础形状不同,numpy可能会触发广播机制,该机制需要满足以下任一条件。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/366795.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年8月16日 08:30
下一篇 2023年8月17日 07:31

相关推荐

  • 小编教你python numpy三角函数。

    在Python中,NumPy库提供了大量用于处理数组和矩阵的函数,包括三角函数,这些函数可以方便地应用于数学、科学和工程领域的问题,下面我们将详细介绍如何使用NumPy中的三角函数。 NumPy简介 NumPy(Numerical Pytho…

    2024年7月22日
    00
  • 我来说说php如何获取get请求参数。

    在PHP中,可以使用$_GET超全局数组来获取GET请求参数。 在Web开发中,GET请求是一种常见的HTTP请求方法,用于从服务器获取数据,PHP作为一种广泛使用的服务器端脚本语言,可以方便地处理GET请求参数,本文将详细介…

    2024年7月12日
    00
  • 我来教你perl 数组操作。

    Perl 中的数组是一种特殊类型的变量,用于存储值的列表,列表中的每个对象被称为一个元素。 数组可以作为一个堆栈或队列、列表的方式来使用。 以下是 Perl 数组的一些常见用法:,,- 创建数组:可以使用@array或ar…

    2024年7月8日
    00
  • PHP中的变量与数据类型。

    PHP是一种极其流行的服务器端编程语言,它的灵活性和易用性使得它成为了构建大型Web应用程序的首选语言之一。在PHP中,变量是一个非常基本的概念,它可以用来存储和操作数据。在本文中,我们将深入探讨PHP中的变量…

    2023年5月30日
    00
  • 说说eclipse变量赋值的方法是什么。

    在Eclipse中,可以使用多种方法进行变量赋值,以下是几种常用的方法: (图片来源网络,侵删) 1、使用快捷键: 在声明变量的地方,输入首字母(或首几个字母)后,按下 Ctrl + 空格(或 Cmd + 空格,取决于操作系…

    2024年7月23日
    00
  • php生成不重复随机数、数组的4种方法

    下面写几种生成不重复随机数的方法,直接上代码吧代码如下:<?phpdefine('RANDOM_MAX', 100);define('COUNT', 10); echo 'max random num: '.RANDOM_MAX, ' ;result count:&#…

    2022年6月11日
    0199
  • PHP入门指南:数组。

    PHP是一种服务器端脚本语言,适用于Web开发,它可以通过处理HTML表单、访问数据库和使用Cookies等方式来创建动态交互性Web页面。在PHP中,数组是一种非常重要的数据类型,本篇文章将为您带来PHP数组的入门指南,并…

    2023年5月22日
    00
  • PHP多维数组的使用

    获取一个值的方式:变量[第一维的下标][第二维的下标][.........] 循环遍历

    2018年4月8日
    0199

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息