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

相关推荐

  • 说说eclipse变量赋值的方法是什么。

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

    2024年7月23日
    00
  • Channel是什么?FileChannel类的常用方法

    Channel 是一个接口对象,它类似于传统的流对象,但与传统的流对象又有些不同,具体表现如下: • Channel可以异步地执行I/O读写操作。 • Channel的读写操作是双向的,既可以从 Channel中读取数据,又可以写数据到Channel…

    2023年8月19日
    02
  • php的数组类型array

    标识一系列数据的“有序排列”的集合体。 php中,数组的下标可以使用整数或字符串。 数字下标常说“索引号”, 字符串下标常说“键名”。 实际上,在php的报错系统中,都叫做“index”,或offset 数组中还可以存储数组,就…

    2018年3月17日
    0234
  • 小编教你python numpy三角函数。

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

    2024年7月22日
    00
  • PHP中的数组操作指南。

    作为一种常用的编程语言,PHP 提供了多种数据类型和操作方式,其中数组是一种非常重要的数据类型。在 PHP 中,数组可以用来存储多个值,并能够进行多种操作和处理。本文将为大家介绍 PHP 中的数组操作指南,帮助大…

    2023年5月23日
    01
  • 关于PHP类型的转换

    自动转换: 通常自动转换是弱类语言的一个最基本也最方便的一个特征:它会在各种运算中根据运算符的需要也将非该运算符所能处理的数据转换为可以处理的数据。常见情形如下: if(数据){}:转为bool类型 算术运算符:…

    2018年3月17日
    0210
  • 我来教你perl 数组操作。

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

    2024年7月8日
    00
  • 数据类型的转换

    说明:在PHP中数据类型是可以进制互相转换,如:整型1转换成字符串1 在PHP中分两种转换形式:自动转换和强制转换 5.11.1自动转换 给到特定的写法就会改变原来的类型   5.11.2强制转换 可以使用一些特殊的方式…

    2017年11月28日
    0369

联系我们

QQ:951076433

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