Numpy库(个人学习笔记)
一样,咱的计算机还是得先拥有Python,并且安装了Numpy库。有疑问的话可以看这里呦~~~~
下面开讲:
NumPy的主要对象是齐次多维数组。它是一个元素表(通常是数字),并且都是相同类型,由正整数的元组索引。
其他暂且略过,咱主要说一些可以听懂的并且有实际效用的。
首先,我们得创建有一个ndarry对象,简单地介绍其中三种方法吧:
- a=np.array([1,2,3])
- data=[[1,2,3],[4,5,6]]
a=np.array(data) - a=np.arange(15).reshape(3,5)
- data=[[1,2,3],[4,5,6]]
在这里我们就用第三个作为例子接着往下讲哈(我就不用再创建了哈哈)
ndarray对象的重要的属性如下:
- ndarray.ndim:
输出ndarray的维度(轴数,也有人叫它等级,在Python世界中,维度的数量被称为等级),这里的轴也叫坐标轴。
这两种写法都是可以的,亲试如图,下面的其他函数也是一样的。
例如,array([1,2,1])是一个等级为1的数组,因为它具有一个坐标轴,该轴的长度为3。
在上面的示例中,该数组的排名为2(它是2维的)。第一维(轴)的长度为3,第二维的长度为5。
- ndarray.shape:
输出数组的尺寸,即(n,m)。
- ndarray.size:
数组元素的总数,即 n * m。
- ndarray.dtype:
数组中元素的数据类型,可进行转换。(这个一般默认float64 和 int32,你们可以自己多试试)
- ndarray.itemsize:
数组中每个元素的字节大小。(例子中则为 int 32/8 = 4,相当于ndarray.dtype.itemsize)
- ndarray.data:
该缓冲区包含数组的实际元素。(这个我们一般不用,我们都是用索引的QAQ)
还有好多,我就不一一截图了,懒。。。。。。
- np.zeros(10) #长度为10的0数组
- np.zeros((3,6)) #创建3行6列的0数组(注意有两个括号)
- np.ones(5)
- np.ones((3,4))
- np.arange(10)
- np.eye(3) # 3*3单位矩阵
- np.identity(3) # 3*3单位矩阵
- np.zeros_like(a) #创建与a相同行、列的全0矩阵
- np.ones_like(a) #创建与a相同行、列的全1矩阵
索引和切片类
- a1=a[0:1] ##这个切片的大有学问了,写的话大概得另起一篇了,有空再说
- a[0:1]=1 ##a变化后,a1的值也随之变化
- a1[0:1]=2 #a1变化后,a的值也随之变化
- a1=a[0:1].copy() #完全拷贝,值变化不影响a (和上面对比一下你就清楚了)
计算类
- a*a #每个元素平方(这个强!!!挺好用的。)
- a*5 #每个元素乘以5
- a.mean() #数据均值
- a.sum() #数组和
- a.sum(axis=0) #按列求和
- a.sum(axis=1) #按行求和
- a.sort() #对a进行排序(这个也是好东西啊~~~)
- a.sort(1) #0按行排序,1按列排序
- np.sort(a,0) #a按行排序(本身不发生变化!!!!!!)
- x.dot(y) ##矩阵x与y相乘
- np.in1d(a,[2,3,6]) #value中的每一个值是否在[2,3,6]中(如果是,该值返回true,否则返回false.)
- np.in1d([2,3,6],a)
- np.in1d(x,y)
- np.intersect1d(x,y) #返回x和y中的交集,并返回有序结构
- np.union1d(x,y) #计算x,y的并集,并返回有序结构
- np.setdiff1d(x,y) #集合的差,即在x中且不在y中
- samples=np.random.normal(size=(4,4)) #产生4维正态分布矩阵
- from numpy.linalg import * #计算与矩阵相关,行列式,矩阵的逆等
- np.linalg.det(samples) #矩阵行列式
- np.linalg.inv(samples) #矩阵求逆
- np.diag(samples) #返回矩阵对角线元素
- np.linalg.eig(samples) #返回矩阵特征值和特征向量
- import timeit #导入计算时间的模块
- np.save('some_a',a) #保存文件
- np.load("some_a.py") #读取磁盘保存数据
- a=np.loadtxt("code_public.txt",delimiter=',') #读取文本数据
- arr=np.loadtxt("d:\code\arr.txt",delimiter=',') #读取d盘数据
行吧,时间也差不多了,我都写累了,相信你也看累了吧,是时候去 stzb 看看先。
Numpy库(个人学习笔记)的更多相关文章
- numpy库的学习笔记
一.ndarray 1.numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”. 2.ndarray是一个多维数组的对象,ndarray数组一般要求所有元素类型相 ...
- 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 个头文件的内容进行了详细的介绍,包括各头文件设计的背景知识.头文件中的内容.头文件中定义的函数和变量的使用.实现.测试等. 我学习此书的目的 ...
随机推荐
- Entity Framework——配置文件设置
可以使用配置文件或代码(EF6起)配置EF框架. 一.使用配置文件 安装Entity Framework自动生成的配置 当使用VS的NuGet自动安装Entity Framework(本文使用6.2. ...
- IntentService源码
原文地址IntentService源码分析 @Override public void onCreate() { super.onCreate(); HandlerThread thread = ne ...
- onCreate源码分析
原文地址Android面试题-onCreate源码都没看过,怎好意思说自己做android Activity扮演了一个界面展示的角色,堪称四大组件之首,onCreate是Activity的执行入口,都 ...
- sonar + jacoco + mockMvc 模拟session 用户登录 配合SpringSecurity 权限 快速测试代码覆盖率.
遇到mock 测试简直就是神器,特别是要做代码覆盖率,直接测试controller就好了,缺点,虽然可以回滚事务,但是依赖数据库数据,解决,根据SpringBoot ,再建立一个专门跑单元测试的数据库 ...
- linux RHCS集群 高可用web服务器
RHCS集群,高可用服务器 高可用 红帽集群套件,提供高可用性,高可靠性,负载均衡,快速的从一个节点切换到另一个节点(最多16个节点)负载均衡 通过lvs提供负载均衡,lvs将负载通过负载分配策略,将 ...
- DM6446 uboot分析
1. 顶层目录下的Makefile 按照配置顺序: davinci_config : unconfig @./mkconfig $(@:_config=) arm arm926ejs davin ...
- 做一个合格的Team Leader -- 基本概念
1.领导和管理 人们乐于被领导:他们不喜欢被管理,不喜欢像牛一样被驱赶或指挥. 管理者强迫人们服从他们的命令,而领导者则会带领他们一起工作. 管理是客观的,没有个人感情因素,它假定被管理者没有思想和感 ...
- Caused by: java.lang.ClassNotFoundException: org.hibernate.service.jta.platform.spi.JtaPlatform
1.错误描述 2014-7-12 22:08:01 org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: HHH000232: Schema up ...
- Flash Builder4破解步骤
Flash Builder4破解步骤 1.安装Flash Builder4.0试用版 2.找到Flash Builder4的安装路径,查找如下相应的文件 3.修改如下文件下的文件 (1)找到Adobe ...
- C#连接oracle数据库步骤
1. 确认操作系统类型,操作系统是64位还是32位: 2. 按对应版本安装oralce客户端版本(64位还是32位): 3. 安装oralce管理员模块,同时赋予安装目录权限 4. 注册old ...