numpy库的学习笔记
一、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库的学习笔记的更多相关文章
- Numpy库的学习(三)
今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...
- [Python ]小波变化库——Pywalvets 学习笔记
[Python ]小波变化库——Pywalvets 学习笔记 2017年03月20日 14:04:35 SNII_629 阅读数:24776 标签: python库pywavelets小波变换 更多 ...
- Numpy库的学习(五)
今天继续学习一下Numpy库,废话不多说,整起走 先说下Numpy中,经常会犯错的地方,就是数据的复制 这个问题不仅仅是在numpy中有,其他地方也同样会出现 import numpy as np a ...
- Numpy库的学习(四)
我们今天继续学习一下Numpy库 接着前面几次讲的,Numpy中还有一些标准运算 a = np.arange(3) print(a) print(np.exp(a)) print(np.sqrt(a) ...
- Numpy库的学习(二)
今天来继续学习一下Numpy库的使用 接着昨天的内容继续 在Numpy中,我们如果想要进行一个判断使用“==” 我们来看下面的代码 vector = np.array([5,10,15,20,25]) ...
- Numpy库的学习(一)
今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...
- 科学计算和可视化(numpy及matplotlib学习笔记)
网上学习资料:https://2d.hep.com.cn/1865445/9 numpy库内容: 函数 描述 np.array([x,y,z],dtype=int) 从Python列表和元组创造数组 ...
- Numpy 和 Matplotlib库的学习笔记
Numpy介绍 一个用python实现的科学计算,包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实用的线性代数.傅里 ...
- 《C标准库》学习笔记整理
简介 <C标准库>书中对 C 标准库中的 15 个头文件的内容进行了详细的介绍,包括各头文件设计的背景知识.头文件中的内容.头文件中定义的函数和变量的使用.实现.测试等. 我学习此书的目的 ...
随机推荐
- B【USACO 2015 Jan Gold】牧草鉴赏家
时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 约翰有n块草场,编号1到n,这些草场由若干条单行道相连.奶牛贝西是美味牧草的鉴赏家,她想到达尽可能多的草场去品尝牧草. 贝 ...
- 人生苦短,学用python
1. 我为什么开始学着用 python 啦? 扯扯网上疯传的一组图片.网上流传<人工智能实验教材>的图片,为幼儿园的小朋友们量身打造的实验教材,可谓是火了.甚至有网友调侃道:pytho ...
- LeetCode | 第180场周赛--5356矩阵中的幸运数
给你一个 m * n 的矩阵,矩阵中的数字 各不相同 .请你按 任意 顺序返回矩阵中的所有幸运数. 幸运数是指矩阵中满足同时下列两个条件的元素: 在同一行的所有元素中最小 在同一列的所有元素中最大 示 ...
- mpvue小程序开发
查阅资料,看官方文档,知道mpvue是一个使用 Vue.js 开发小程序的前端框架(美团的开源项目).框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compi ...
- MTK Android Driver :Lcm
MTK Android Driver :lcm 1.怎样新建一个LCD驱动 LCD模组主要包括LCD显示屏和驱动IC.比如LF040DNYB16a模组的驱动IC型号为NT35510.要在MTK6577 ...
- go 切片重组
我们已经知道切片创建的时候通常比相关数组小,例如: slice1 := make([]type, start_length, capacity) 其中 start_length 作为切片初始长度而 c ...
- 30.1 HashSet存储自定义对象 未去重解决
问题: package day30_HashSet; import java.util.HashSet; /* * 通过hashset存储自定义对象,没有进行去重. * * */ public cla ...
- 29 collection 集合体系结构
/*collection:采集 * ArrayList * 集合的体系结构: * 由于不同的数据结构(数据的组织,存储方式),所以Java为我们提供了不同的集合, * 但是不同的集合他们的功能都是相似 ...
- Python操作rabbitmq系列(五):根据主题分配消息
接着上一章,使用exchange_type='direct'进行消息传递.这样消息会完全匹配后发送到对应的接收端.现在我们想干这样一件事: C1获取消息中包含:orange内容的消息,并且消息是由3个 ...
- AJ学IOS(31)UI之Quartz2D图形上下文栈
AJ分享,必须精品 首先,前面博客说过.qurza2d的上下文中有绘图信息和绘图的属性. 但是他是怎么绘制到上下午中的呢? 我们画图时候一半会用这三个步骤: (1)获取上下文 (2)绘图 (3)渲染 ...