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

相关推荐

  • 二维数组及多维数组

    在弱类型语言中是没有具体的一个创建多维数组的函数或变量等,通过一维数组的创建方式来组合成二维或多维数组。 创建方式:一个数组的元素又是另一个数组,这个时候称为”二维数组“,如果一直往下的元素还是数组,这…

    2018年4月8日
    0249
  • 我来说说js数组转字符串逗号拼接。

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

    2024年6月18日
    01
  • 关于php去掉数组中的空值。

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

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

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

    2018年4月7日 PHP自学教程
    0264
  • 小编教你html 如何用mysql数据库数据类型。

    在HTML中,我们无法直接使用MySQL数据库的数据类型,我们可以使用PHP、JavaScript等后端语言来连接MySQL数据库,并将数据类型转换为HTML所需的格式,下面我将详细介绍如何使用PHP和MySQL数据库数据类型。 (图片来…

    2024年6月24日
    02
  • (实用篇)PHP JSON数组与对象的理解

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

    2016年10月27日
    0236
  • 小编教你java数组倒序输出的方法是什么意思。

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

    2024年7月24日
    02
  • 关于PHP类型的转换

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

    2018年3月17日
    0213

联系我们

QQ:951076433

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