numpy.array的基本运算以及对数据的操作

设置一个问题,例如



这种只需要基本的运算就可以实现

类似的

numpy对向量的运算进行了优化,速度是相当快的,这种被称为universal functions

可以使用+,-,,/,//, *(两个星号),%,1/(/表示浮点除,//表示整数除,%表示取余,**表示平方,1/表示倒数)



特殊的运算

像是abs(绝对值),三角函数(sin,cos,tan等),exp(所有元素取e的x次方),log,log2,log10

矩阵之间的运算,要保证可以运算

常规加减没问题,在矩阵相乘的时候不能使用*,要使用.dot(),转置矩阵可使用.T

向量与矩阵的运算

正常的加减法,虽然数学意义上不存在,但是是可以计算出来的,通过堆叠可以验证出来计算的结果

不同行列数的矩阵相乘,也是使用dot来操作,不同的是,numpy会自动将结构修改,使之变成符合运算规律的计算

(A.dot(V),将v变成了一个2*1的矩阵列向量)

矩阵的逆

使用linalg.inv

由于很多时候只有方阵才能进行计算,那么我们就需要使用linalg.pinv来设置伪逆矩阵

聚合操作

聚合操作

即将一组值变成一个值

像是求和

使用sum或者np.sum即可



两者的区别就是,原生的sum效率是比np.sum的效率低的

对二维数组也可以

当设置成axis=0时,会沿着行的方向进行运算(垂直方向)

同理,axis=1时,沿着列方向(水平方向)

求一个组的最小值或最大值

乘积(计算出来不对,感觉哪里出了问题),均值,中位数

百分数

q=50意味着百分之50的数(即中位数)

通过for循环输出各个百分位点

方差和标准差

索引(arg运算)

索引

当想要获取获取的数的位置时,可以使用arg后接运算

这将返回一个索引值,这个值的位置即为数值位置

argmin

argmax

排序以及使用索引

首先将创建出的乱序

(如果只是对np.sort操作,这只是将顺序显示出来,并没有改变原有的顺序)

对x进行sort操作的话,会直接改变

对二维数组来说,相同

注意:默认的axis为1

使用argsort一样,返回的是索引

使用索引排序

使用argsort显示出来的是原有数据的索引值的排序顺序

(像是索引为6的值是0,1的索引值为13,以此类推)

快速排序的partition操作(对象,标定点)

如果使用的是argpartition,则返回的是索引值,对二维数组同样适用

比较(包含fancy indexing)

Fancy indexing

想要得到指定的索引值的数据(在需要非等步长的时候)

可以使用ind

我们还可以使用这种方法对二维的索引进行一个使用

通过二维的索引,对原有数据引用,是指形成根据索引排布的一个二维矩阵

对二维数组来说

同样可以使用

我们想要得到对应的行列元素,可进行相应的操作



以上是数值方面的

有时候我们还会遇到其他类型的数据

比如在批量比较之后返回的布尔数组

关于numpy.array的比较

我们可以使用很多的符号,像是<,>,<=,>=,==,!=等等

其返回的就是布尔值



同时,我们也可以结合之前的运算符来构成更为复杂的算式

同样,对二维数组一样适用

对整体进行(对数组和矩阵都适用)

count_nonzero,不为零的数量

any,是有一个为true,则返回为true

all,是有全部为true,则返回为true

通过axis=1,对列这一行进行比较

同样的,我们可以对这些进行组合

在两个数组数据进行比较时,使用位运算符&(与),|(或),~(非)



这种方法可以很直观的显示出所需要的值

像是需要数组中小于5的,需要数组中为偶数的

对二维数组来说一样可以

如果我们需要抽出一些行,这些行满足的特点是最后一列可以被三整除,那么我们要先选择出第三列,然后进行整除,最后抽出来

【笔记】numpy.array的常用基本运算以及对数据的操作的更多相关文章

  1. 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作

    上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...

  2. mysql笔记1—安装、配置和基础的数据表操作

    本篇笔记主要分为两部分: 1,安装完毕之后的简单配置 2,数据的类型.简单的数据表操作命令 一.mysql安装完毕之后 windows和linux环境,除mysql的安装.配置有所不同,其他操作一样, ...

  3. Numpy np.array 相关常用操作学习笔记

    1.np.array构造函数 用法:np.array([1,2,3,4,5]) 1.1 numpy array 和 python list 有什么区别? 标准Python的列表(list)中,元素本质 ...

  4. 【笔记】numpy.array基础(1)

    numpy.array基础 使用numpy.__version__可以检查numpy的版本 当然也可以直接使用命令行检查numpy版本 也可以用来简化引用,使用as python list特点 num ...

  5. python numpy array 的一些问题

    1 将list转换成array 如果list的嵌套数组是不规整的,如 a = [[1,2], [3,4,5]] 则a = numpy.array(a)之后 a的type是ndarray,但是a中得元素 ...

  6. 操作 numpy 数组的常用函数

    操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...

  7. Python Numpy Array

    Numpy 是Python中数据科学中的核心组件,它给我们提供了多维度高性能数组对象. Arrays Numpy.array   dtype 变量 dtype变量,用来存放数据类型, 创建数组时可以同 ...

  8. NumPy和Pandas常用库

    NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...

  9. [学习笔记] Numpy基础 系统学习

    [学习笔记] Numpy基础 上专业选修<数据分析程序设计>课程,老师串讲了Numpy基础,边听边用jupyter敲了下--理解+笔记. 老师讲的很全很系统,有些点没有记录,在PPT里就不 ...

随机推荐

  1. 资源:CentOS下载地址资源

    新版本系统镜像下载(当前最新是CentOS 7.4版本) CentOS官网 官网地址 http://isoredirect.centos.org/centos/7.4.1708/isos/x86_64 ...

  2. 黑马c++基础的一个通讯录系统

    前言: 代码写的挺简单的,更像是c语言的课设,然后没有持久化的东西,之前也写过一个类似的,不过我写的纯c语言大概有1700多行,把信息全用文件存起来了, 所以如果要写完整的话,最好还是用数据库或者文件 ...

  3. 小白都能理解的TCP三次握手四次挥手

    前言 TCP在学习网络知识的时候是经常的被问到知识点,也是程序员必学的知识点,今天小杨用最直白的表述带大家来认识认识,喜欢的朋友记得点点关注哈. 何为TCP 上点官方的话:是一种面向连接(连接导向)的 ...

  4. C++泛型编程-举例

    就是C++里面说的函数模板和类模板,我们以前写C语言的时候,不同的类型参数,可能要写不同的函数. C++的模板出现之后,就可以实现函数模板,函数模板可以接纳不同的类型,然后这些类型都可以调用同一个函数 ...

  5. VBA收集

    EXCEL启用宏 1.excel另存为"启用宏的XLSM"的文件格式 excel2007打开显示"宏的工具栏" 点击"左上角的OFFICE按钮&quo ...

  6. MQTT 1——物联网集成项目技术选型与说明

    最近做的JAVA项目与物联网设备有集成,记录一下从技术选型到实现,整合: 1.通信协议技术选型,MQTT技术介绍2.MQTT服务端安装,客户端测试3.MQTT客户端与Spring MVC整合 1.项目 ...

  7. Wordcloud(词云)安装使用以及vscode搭建虚拟环境

    (电脑烧掉了主板,地方上的所有门店全部关闭了,幸好现在京东还通物流,总算是进行把电脑拿回来了.对于一些东西无法实际操作真的是很难受,言归正传,说一下Wordcloud) Wordcloud安装(全局安 ...

  8. PLICP

    介绍 PLICP相比较于普通ICP算法,使用点线之间的距离作为度量,最终找到一个最小化该度量的闭式解(解析解). 最优结果以平方的速度收敛.相比较于ICP,IDC,MBICP.PLICP更加准确,且需 ...

  9. 【原创】如何通过-y和-v使用库文件

    在进行仿真时,经常遇到设计代码中需要调用一些标准的库文件,但是在设计的编译列表filelist中却没有相应的库文件,这时为了完成仿真,需要设计人员提供对应的库文件或者库文件所在的路径,然后仿真时将这些 ...

  10. 在Java中,负数的绝对值竟然不一定是正数!!!

    绝对值是指一个数在数轴上所对应点到原点的距离,所以,在数学领域,正数的绝对值是这个数本身,负数的绝对值应该是他的相反数. 这几乎是每个人都知道的. 在Java中,想要获得有个数字的绝对值,可以使用ja ...