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

相关推荐

  • PHP数组的创建

    数组的三种创建方式 方式一: 变量 = array(元素的值,元素的值,元素的值,........); 方式二: 变量 = array(元素,元素,元素,..........); 方式三: 变量[【下标】] = 值; 变量[【下标】] = 值; 变量[【下标】] =…

    2018年4月7日
    0386
  • (实用篇)PHP JSON数组与对象的理解

      在PHP后端和客户端数据交互的过程中,JSON数据中有时格式不定,一会儿是数组,一会儿是对象,弄得客户端开发人员要崩溃的感觉。 因此,前后端相关人员先对PHP的json_encode函数原理有必要的了解是最重要的一…

    2016年10月27日
    0235
  • 分享seo和php哪个值得学。

      今天看到一个有意思的问题:seo和php哪个值得学?从大方向考虑seo属于营销类范畴,php则属于编程类范畴,其不再一个对比面上。万物总有联系,seo与php是有很强的关联的,诸如很多的建站系统都是php做的,做seo的…

    2022年12月2日
    01
  • c语言数组如何输入。

    在C语言中,可以使用循环结构和scanf函数来输入数组。首先需要声明一个数组,然后使用for循环遍历数组的每个元素,并使用scanf函数读取用户输入的值。以下是一个示例代码:,,“c,#include ,,int main() {…

    2024年6月27日
    00
  • JavaScript中基本数据类型怎样使用?

    JavaScript中的数据类型分为两大类,分别是基本数据类型和复杂数据类型(或称为引用数据类型),如图所示。 本节重点讲解基本数据类型。下面我们用代码演示基本数据类型的使用。 (1)数字型(Number),包含整型值和浮点…

    2023年6月16日
    00
  • 我来说说php如何获取get请求参数。

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

    2024年7月12日
    00
  • 小编教你java数组倒序输出的方法是什么意思。

    Java数组倒序输出的方法是将数组元素的顺序颠倒,即将第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换,以此类推。 在Java中,数组是一种非常重要的数据结构,它可以用来存储多个相同类型的数据,我…

    2024年7月24日
    00
  • 我来说说js数组转字符串逗号拼接。

    一、什么是jq数组转字符串? jQuery是一个快速、简洁的JavaScript库,它包含了许多实用的功能,其中一个就是数组和字符串的操作,在jQuery中,我们可以使用`join()`方法将数组转换为字符串,`join()`方法是jQuery提…

    2024年6月18日
    00

联系我们

QQ:951076433

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