1、转置

#reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状

创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组
arr = np.arange(15).reshape((3,5))
print(arr)

结果:[[ 0  1  2  3  4]
            [ 5  6  7  8  9]
            [10 11 12 13 14]]

#转置,数组转置可以使用transpose方法或者T属性,转置返回的是源数组的视图,不会进行任何复制操作

#将3行5列的二维数组arr转置为5行3列的二维数组
arr.transpose()

结果:array([[ 0,  5, 10],
                     [ 1,  6, 11],
                     [ 2,  7, 12],
                     [ 3,  8, 13],
                     [ 4,  9, 14]])

#使用T属性实现转置
arr.T

结果:array([[ 0,  5, 10],
                     [ 1,  6, 11],
                     [ 2,  7, 12],
                     [ 3,  8, 13],
                     [ 4,  9, 14]])

2、算数运算

#注意:两个数组做算数法要求两个数组的结构要相同

#数组加法,两个数组对应位置的元素相加

arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = np.ones((2,3)) #2行3列的全1数组
arr1 + arr2 #相当于给数组arr1中的每个元素加1

结果:array([[ 2.,  3.,  4.],
                     [ 5.,  6.,  7.]])

#数组减法,两个数组对应位置的元素相减
arr1 - arr2

结果:array([[ 0.,  1.,  2.],
                     [ 3.,  4.,  5.]])

#数组乘法,两个数组对应位置的元素相乘
arr3 = np.array([[2,2,2],[2,2,2]])
arr1 * arr3

结果:array([[ 2,  4,  6],
                     [ 8, 10, 12]])

#使用tile函数构造数组,上一个arr3构造具有相同元素的数组非常麻烦,使用tile函数非常简洁
#第一个参数表示需要复制的数组,第二个参数是对应的轴方向上复制的次数

#第2个参数(2,3)表示在第0轴方向复制2次,第1轴方向复制3次,这样就构成了一个2行3列的二维数组

arr4 = np.tile([2],(2,3))
print(arr4)

结果:[[2 2 2]
           [2 2 2]]

#数组除法,两个数组对应位置的元素相除

arr1 / arr4

结果:array([[ 0.5,  1. ,  1.5],
                     [ 2. ,  2.5,  3. ]])

3、数组与标量算术运算

#对数组中每个元素求平方

arr1 ** 2

结果:array([[ 1,  4,  9],
                     [16, 25, 36]], dtype=int32)

#数组arr1中的每个元素加10

arr1 + 10

结果:array([[11, 12, 13],
                     [14, 15, 16]])

Numpy学习三:数组运算的更多相关文章

  1. Numpy学习之——数组创建

    Numpy学习之--数组创建 过程展示 import numpy as np a = np.array([2,3,9]) a array([2, 3, 9]) a.dtype dtype('int32 ...

  2. Scala学习(三)----数组相关操作

    数组相关操作 摘要: 本篇主要学习如何在Scala中操作数组.Java和C++程序员通常会选用数组或近似的结构(比如数组列表或向量)来收集一组元素.在Scala中,我们的选择更多,不过现在我们先假定不 ...

  3. JavaScript基础学习(三)—数组

    一.数组简介     JavaScript数组的每一项都可以保存任何类型的数据,也就是说数组的第一个位置保存字符串,第二个位置可以保存数值,第三个位置可以保存对象,而且数组的大小是可以动态调整的,即可 ...

  4. Scala学习三——数组相关操作

    一.若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer 固定长度数组: 如val nums=new Array[Int](10) //10个整型数组,所有元素初始化为0; val ...

  5. 3.3Python数据处理篇之Numpy系列(三)---数组的索引与切片

    目录 (一)数组的索引与切片 1.说明: 2.实例: (二)多维数组的索引与切片 1.说明: 2.实例: 目录: 1.一维数组的索引与切片 2.多维数组的索引与切片 (一)数组的索引与切片 1.说明: ...

  6. numpy学习(三)

    练习篇(Part 3) 31. 略 32. Is the following expressions true? (★☆☆) np.sqrt(-1) == np.emath.sqrt(-1) prin ...

  7. MATLAB—数组运算及数组化编程

    文章目录 前言 一.数组的结构和创建 1.数组及其结构 2.行数组的创建 3.对数组构造的操作 二.数组元素编址及寻访 1.数组元素的编址 2.二维数组元素的寻访 三.数组运算 非数的问题 前言 编程 ...

  8. 【学习笔记】 第04章 NumPy基础:数组和矢量计算

    前言 正式开始学习Numpy,参考用书是<用Python进行数据清洗>,计划本周五之前把本书读完,关键代码全部实现一遍 NumPy基础:数组和矢量计算 按照书中所示,要搞明白具体的性能差距 ...

  9. numpy学习笔记(三)

    (1)numpy的位操作 序号         操作及描述 1.      bitwise_and 对数组元素执行位与操作 2.      bitwise_or 对数组元素执行位或操作 3.      ...

随机推荐

  1. python chardet

    chardet:字符编码检测工具 字符串编码一直是令人非常头疼的问题,尤其是我们在处理一些不规范的第三方网页的时候.虽然Python提供了Unicode表示的str和bytes两种数据类型,并且可以通 ...

  2. Json列表数据查找更新

    /* 从Json数组按某个字段中查找记录 IN array 数据列表 fieldName 字段名称 fieldValue 字段值 OUT 查找到的数据列表 */ var SearchRecordsFr ...

  3. mysql第一课,数据库的简单简单操作方法(配图略虐狗)

    mysql -u root -p 并输入密码进入mysql管理界面 show databases; 显示数据库列表 use 数据库名; 进入该数据库 show tables;显示表列表 建立新表 添加 ...

  4. python Flask框架mysql数据库配置

    我是一个没有笔记习惯的低级程序员,但是我还是喜欢编程,从小学就开始跟着玩电脑,对抓鸡,ddos,跳板刷钻开始了自己的IT 旅程,之后学习了各种语言,但是可惜都不没有达到精通,都是略懂一二,现在想把Py ...

  5. 从Excel表中导入数据时日期格式的验证问题解决

    #region IsDateTimeType 私有方法判断导入数据是否是日期格式 /// <summary> /// 私有方法判断导入数据是否是日期格式 /// </summary& ...

  6. 《Linux就该这么学》第十二天课程

    使用ssh服务管理远程主机 绑定两块网卡 原创地址:https://www.linuxprobe.com/chapter-09.html 第1步:在虚拟机系统中再添加一块网卡设备,请确保两块网卡都处在 ...

  7. linux的常用指令和配置文件

    一. 常用的指令 mkdir -p 创建文件夹 parents递归创建 ls -alh 查看当前目录内容 cd   切换工作目录 pwd 打印当前工作目录 touch 文件名 创建文件 echo 字符 ...

  8. 渗透测试的理论部分4——开放式Web应用程序安全项目

    开放式Web应用程序安全项目(Open Web Application Security Project OWASP) 定期退出Top 10 project(排名前十的安全隐患防守规则) 公开了编写安 ...

  9. IDEA中通过工具类实现对数据库的增删改查

    package com.hu.dao; import com.hu.entity.Student; import java.util.List;import java.util.Map; public ...

  10. Hibernate框架:CRM练习--保存客户

    crm:customer ralation manager 客户关系管理系统 一.准备 1.创建web项目 2.导包 最终为: 3.引入静态页面 将文件复制放入项目的WebContent目录下面: 4 ...