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日
下一篇 2023年8月17日

相关推荐

  • 关于php去掉数组中的空值。

    在PHP中,我们可以使用`array_keys()`函数获取数组的所有键,然后使用`array_diff()`函数移除指定的键,以下是一个简单的例子: <?php $array = array("a" => "apple", "b" =&…

    2024年6月19日
    00
  • PHP数组的相关介绍

    数组的覆盖 说明:如果后面的元素中的下标和前面元素的下标“重复”了,后面元素的值会覆盖前面的元素值。 数组的自增 说明:有一个固定的数组,这个时候需要在网数组中添加一个新的元素。 数组的分类 索引数组:下标…

    2018年4月7日 PHP自学教程
    0259
  • php的数组类型array

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

    2018年3月17日
    0234
  • PHP数组常用函数总结

    一、数组操作的基本函数数组的键名和值 array_values($arr); 获得数组的值 array_keys($arr); 获得数组的键名 array_flip($arr); 数组中的值与键名互换(如果有重复前面的会被后面的覆盖) in_array("apple&qu…

    2022年6月20日
    0112
  • 我来说说php如何获取get请求参数。

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

    2024年7月12日
    00
  • php的数据类型

    说明:就是PHP能存储数据格式,PHP提供8种数据类型 标量类型:int float string boolean 复合类型:array object 特殊:null resource 在文档(手册)里提供的类型 字符串类型-string 说明:字符串类型就是把任何的…

    2017年11月19日 PHP自学教程
    0418
  • 小编教你java中foreach循环怎么使用。

    Java中的foreach循环,也称为增强型for循环,是自Java 5开始引入的一种新的循环结构,它提供了一种更加简洁明了的方式来遍历数组或集合中的元素,与传统的for循环相比,foreach循环不需要显式地声明和管理计数器变…

    2024年7月11日
    00
  • 小编教你python numpy三角函数。

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

    2024年7月22日
    00

联系我们

QQ:951076433

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