一、ndarray

1、numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”。

2、ndarray是一个多维数组的对象,ndarray数组一般要求所有元素类型相同,数组下标从0开始。

3、在numpy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank).

4、从ndarray对象提取任何元素(通过切片)由一个数组标量类型的python对象表示,数组切片得到的是原始数组的视图,所有修改都会直接反映到源数组。如果需要得到的ndarray切片的一份副本,需要进行复制操作,比如arange[5:8].copy()

5、ndarray对象的属性

属性 说明
.ndim 秩,即轴的数量或维度的数量
.shape ndarray对象的尺度,对于矩阵m行n列
.size ndarray对象元素的个数,相当于.shape中m*n的值
.dtype ndarray对象的元素类型
.itemsize ndarray对象中每个元素的大小,以字节为单位

演示

6、ndarray类的形态操作方法

方法 说明
ndarray.rashape(n,m) 不改变数组ndarray,返回一个维度为(m,n)的数组
ndarray.resize(new_shape) 与reshape()作用相同,直接修改数组ndarray
ndarray.swapaxes(ax1,ax2) 将数组中n个维度中任意两个维度进行调换
ndarray.flatten() 对数组进行降维,返回一个折叠后的一维数组
ndarray,ravel() 作用同np.flatten(),但是返回数组的一个视图

二、numpy库常用的创建数组函数

函数 说明
np.array([x,y,z],dtype=int) 从python列表和元组创造数组
np.arange(x,y,i) 创建一个由x到y,以i为步长的数组
np.linspace(x,y,n) 创建一个由x到y,等分成n个元素的数组
np.indices((m,n)) 创建一个m行n列的矩阵
np.random.rand(m,n) 创建一个m行n列的随机数组
np.ones((m,n),dtype) 创建一个m行n列全1的数组,dtype是数据类型
np.empty((m,n),dtype) 创建一个m行n列的全0的数组,dtype是数据类型

三、numpy库的算数运算函数

函数 说明
np.add(x1,x2[,y]) y=x1+x2
np.subtract(x1,x2[,y]) y=x1-x2
np.multiply(x1,x2[,y]) y=x1*x2
np.divide(x1,x2[,y]) y=x1/x2
np.floor_divide(x1,x2[,y]) y=x1//x2,返回值取整
np.negative(x[,y]) y=-x
np.power(x1,x2[,y]) y=x1**x2
np.remainder(x1,x2[,y]) y=x1%x2

注意:

这些函数中,输出参数y可选,如果没有指定,将创建并返回一个新的数组保存计算结果;如果指定参数,则将结果保存到参数中。例如,两个数组相加可以简单地写为a+b,而np.add(a,b,a)则表示a+=b

四、numpy库的比较运算函数

函数 说明
np.equal(x1,x2[,y]) y=x1=x2
np.not_equal(x1,x2[,y]) y=x1!=x2
np.less(x1,x2,[,y]) y=x1<x2
np.less_equal(x1,x2,[,y]) y=x1<=x2
np.greater(x1,x2,[,y]) y=x1>x2
np.greater_equal(x1,x2,[,y]) y=x1>=x2
np.where(condition[x,y]) 根据给出的条件判断输出x还是y

注意:numpy库的比较运算函数将返回一个布尔数组,它包含两个数组中对应元素的比较结果,比如

五、numpy库的其他运算函数

函数 说明
np.abs(x) 计算基于元素的整型,浮点或复数的绝对值
np.sqrt(x) 计算每个元素的平方根
np.squre(x) 计算每个元素的平方
np.sign(x) 计算每个元素的符号: 1(+),0,-1(-)
np.ceil(x) 计算大于或等于每个元素的最小值
np.floor(x) 计算小于或等于每个元素的最大值
np.rint(x[,out]) 圆整,取每个元素为最近的整数,保留数据类型
np.exp(x[,out]) 计算每个元素的指数值
np.log(x),np.log10(x),np.log2(x) 计算自然对数(e),基于10,2的对数,log(1+x)

numpy库的学习笔记的更多相关文章

  1. Numpy库的学习(三)

    今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...

  2. [Python ]小波变化库——Pywalvets 学习笔记

    [Python ]小波变化库——Pywalvets 学习笔记 2017年03月20日 14:04:35 SNII_629 阅读数:24776 标签: python库pywavelets小波变换 更多 ...

  3. Numpy库的学习(五)

    今天继续学习一下Numpy库,废话不多说,整起走 先说下Numpy中,经常会犯错的地方,就是数据的复制 这个问题不仅仅是在numpy中有,其他地方也同样会出现 import numpy as np a ...

  4. Numpy库的学习(四)

    我们今天继续学习一下Numpy库 接着前面几次讲的,Numpy中还有一些标准运算 a = np.arange(3) print(a) print(np.exp(a)) print(np.sqrt(a) ...

  5. Numpy库的学习(二)

    今天来继续学习一下Numpy库的使用 接着昨天的内容继续 在Numpy中,我们如果想要进行一个判断使用“==” 我们来看下面的代码 vector = np.array([5,10,15,20,25]) ...

  6. Numpy库的学习(一)

    今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...

  7. 科学计算和可视化(numpy及matplotlib学习笔记)

    网上学习资料:https://2d.hep.com.cn/1865445/9 numpy库内容: 函数 描述 np.array([x,y,z],dtype=int) 从Python列表和元组创造数组 ...

  8. Numpy 和 Matplotlib库的学习笔记

    Numpy介绍 一个用python实现的科学计算,包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实用的线性代数.傅里 ...

  9. 《C标准库》学习笔记整理

    简介 <C标准库>书中对 C 标准库中的 15 个头文件的内容进行了详细的介绍,包括各头文件设计的背景知识.头文件中的内容.头文件中定义的函数和变量的使用.实现.测试等. 我学习此书的目的 ...

随机推荐

  1. vue中的js引入图片,使用require相关问题

    vue中的js引入图片,必须require进来 或者引用网络地址 <template> <div class="home"> <img alt=&qu ...

  2. (一)vim插件tabbar

    今天早晨给 TabBar.vim 的作者Groleo发了个邮件询问这个tabbar关闭失败的问题.得到的答复是 "you can use :bd instead of :close" ...

  3. 关于Git我们不得不知道的事(一)

    一.什么是Git? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git可以协助我们很方便的管理我们的项目,我们随时可以找回(或者回到)我们之前任何一个时刻的项目:还可以让同事或者开发小 ...

  4. ubuntu18.04配置宽带上网

    1.将 /etc/NetworkManager 目录下的 managed标签改为true 2.将 /etc/network/ 目录下的 interfaces文件只留下前两行: auto lo ifac ...

  5. C#两大知名Redis客户端连接哨兵集群的姿势

    前言 前面利用<Docker-Compose搭建Redis高可用哨兵集群>, 我们的思路是将Redis.Sentinel.Redis Client App链接到同一个网桥网络,这个网桥内的 ...

  6. Python操作rabbitmq系列(三):多个接收端消费消息

    接着上一章.这一章,我们要将同一个消息发给多个客户端.这就是发布订阅模式.直接看代码: 发送端: import pikaimport sys connection = pika.BlockingCon ...

  7. Atlas运行时资源不足报错 -bash: fork: retry: 资源暂时不可用 Out of system resources

    目的:运行Atlas并使用Azkaban执行操作任务 环境:Centos 6 内存大小:12G 启动下面的任务后还剩内存将近5G 问题: 当mysql_to_hdfs_db和其他job同时运行时集群很 ...

  8. Angular input / ion-input ion-searchbar 实现软件盘换行 改 搜索 并且触发搜索方法 Android iOS适用

    Angular 实现软件盘 换行 改 搜索 并且除非 搜索方法:    Form 必须有 action="javascript: return true;”   input / ion-in ...

  9. Java成长第五集--面向对象设计的五大原则

    S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写.以下图说明: 下面就个人的理解来说说这五大原则的含义到 ...

  10. 让图片适合在静态文本控件窗口大小 MFC

    1.加入 IDC_STATIC1 静态文本控件. 2.为文本控件添加 STATIC 型变量 3.在OnInitDialog函数中添加以下代码 //设置该静态控件为显示位图的 m_bitmap.Modi ...