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. 关于图片无法输出的问题使用ob_clean()

    前两天相当于炸锅了,用户量在三百万左右,用户一直使用二维码在门店进行消费,晚上八九点钟时 ,居然全都打不开了 原图 出问题的图 本该是二维码的出现不了,代码使用的是PHP的qrcode,蒙圈了,查询了 ...

  2. unity 动态更新模型透明度

    RaycastHit[] hits; Vector3 normal = transform.position - target.position; hits = Physics.RaycastAll( ...

  3. handsontable 常用 配置项 笔记

    import React, { Component } from 'react'; import HotTable from 'react-handsontable'; import Handsont ...

  4. MySQL开发设计规范

    1.库命名规则:dbname_suffix,分为_dev/_test/_pre/_mertest/_perf/_prod六个环境 2.适度反范式设计,冗余表字段数据减少JOIN关联提高访问效率 3.普 ...

  5. tomcat 请求处理流程分析(基于nio)

    在这里我先简单的说下bio和nio的区别 这里我以电话客服的情况来解释 bio 一个客户对应一个客服, 假如客户比较麻烦,中途不挂电话,或者去做其他事情了,而客服资源会被一直占用 导致的后果是系统处理 ...

  6. 别人的Linux私房菜(19)认识与分析日志文件

    日志文件通常只有root可以读取,解决系统和网络方面的问题. /var/log/boot.log本次开机系统检测和启动硬件,和内核支持的相关功能的信息记录. /var/log/cron计划任务有没有被 ...

  7. Python Day 6

    阅读目录:   内容回顾:   深浅拷贝:   元组:   字典   集合 ##内容回顾 #1.数字类型 int | float | bool | complex #2.字符串 #常规操作: -- 索 ...

  8. 7.地图随机装饰,与转化过程补充,与ai的设计思路

    这两天本来只想实现地图的随机装饰,然后发现以前的bin格式设计存在不足,所以最后不得不去改地图,并去重制整个地图的阶段,此篇总结这个过程 先描述下bin结构 首先地图由无数六边形组合,一个六边形由两层 ...

  9. SpringBoot_配置文件

    Properties配置 SpringBoot中采用了大量的自动化配置,但是对开发者而言,在实际项目中不可避免会有一些需要自己手动配置,承载这些自定义配置的文件就是resources 目录下的appl ...

  10. FFMPEG增加和提取字幕流

    转自 https://www.cnblogs.com/satng/p/5514683.html 防抽复制一遍 增加字幕流ffmpeg -i video.avi -i sub.ass -map 0:0 ...