Numpy (嵩老师.)

import numpy as np

Numpy 一元函数

对ndarray中的数据执行元素级运算的函数

np.abs(x) np.fabs(x) 计算数组各元素的绝对值

np.sqrt(x) 计算数组各元素的平方根

np.square(x) 计算数组各元素的的平方

np.log(x) np.log10(x) np.log2(x) 计算数组各元素的自然对数,10底对数和2底对数

np.ceil(x) np.floor(r) 计算数组各元素的ceiling值或floor值

np.rint(x) 计算数组各元素的四舍五入值

np.modf(x) 将数组各元素的小数和整数部分以两个独立数组形式返回

np.cos(x) np.cosh(x) np.sin(x) np.sinh(x) np.tan(x) np.tanh(x)

计算数组各元素的的普通型和双曲型三角函数

np.exp(x) 计算数组各元素的的指数值

np.sign(x) 计算数组各元素的的符号值,1(+),0,-1(-)

np.savetxt(frame,array,fmt=‘%.18e‘,delimiter=None)

  frame:文件,字符串或产生器,可以是.gz或.bz2的解压文件

  array:存入文件的数组

  fmt:写入文件的格式,例如:%d %.2f %.18e

  delimiter:分割字符串,默认是任何空格

  例:

a = np.arange(100).reshape(5,20)
np.savetxt("a.csv",a,fmt=‘%d‘,delimiter=‘,‘)
np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)

  frame:文件,字符串或产生器,可以是.gz或.bz2的解压文件

  dtype:数据类型,可选

  delimiter:分割字符串,默认是任何空格

  nupack:如果True,读入属性将分别写入不同变量

CSV只能有效存储一维和二维数组

  np.savetxt() 和 np.loadtxt() 只能有效的存储一维和二维数组

------------------------------------------------------------------

a.tofile(frame,sep=‘‘,format=‘%s‘)

  frame:文件,字符串

  sep:数据分割字符串,如果是空字符串,写入文件为二进制

  format:写入数据的格式

np.fromfile(frame,dtype=float,count=-1,sep=‘‘)

  frame:文件,字符串

  dtype:读取的数据类型

  count:读入元素个数,-1表示读入整个文件

  sep:数据分割字符串,如果是空字符串,写入文件为二进制

  需要注意:

    给方法需要读取是知道存入文件是数组的维度和元素类型

    a.tofile() 和 np.framfile() 需要配合使用

    可以通过元数据文件来存储额外信息

NumPy的便捷文件存储

np.save(fname,array) 

  或

np.savez(fname,array)

  frame:文件名,以.npy为扩展名,压缩扩展名为.npz

  array:数组变量

  np.load(fname)

---------------------------------------------------------------------

NumPy的随机数函数

  random子库

    np.random

      np.random.rand(d0,d1,...,dn) # 根据d0到dn创建随机数数组,浮点数,[0,1),均匀分布

      np.random.randn(d0,d1,...,dn) # 根据d0到dn创建随机数数组,标准正态分布

      np.random.randint(low[,high,shepe]) # 根据shape创建随机整数或整数数组,范围是[low,high)

      seed(s) # 随机数种子,s是给定的种子值

    shuffle(a) # 根据数组a的第一轴进行随排列,改变数组x

    permytation(a) # 根据数组a的第一轴产生一个新的乱序数组,不给变数组x

    choice(a[,size,replace,p]) # 从一维数组a中以概率抽取元素,形成size形状新数组replace表示是否可以重用元素,默认为False

    nuiform(low,high,size) # 产生具有均匀分布的数组,low起始值,high结束值,size形状

    normal(loc,scale,size) # 产生具有正态分布的数组,loc均值,scale标准差,size形状

    poisson(lam,size) # 产生具有泊松分布的数组,lam随机事件发生率,size形状

-----------------------------------------------------------------------

Numpy 直接提供的统计类函数

  np.random的统计函数

    sum(a,axis=None) # 根据给定轴axis计算数组a 相关元素之和,axis整数或元组

    mean(a,axis=None) # 根据给定轴axis计算数组a 相关元素的期望,axis整数或元组

    average(a,axis=None,weights=None) # 根据给定轴axis计算数组a 相关元素的加权平均值

    std(a,axis=None) # 根据给定轴axis计算数组a 相关元素的标准差

    var(a,axis=None) # 根据给定轴axis计算数组a 相关元素的方差

  2:

    min(a) max(a) #计算数组a中元素的最小值,最大值

    argmin(a) argmax(a) #计算数组a中元素最小值,最大值的降一维后下标

    unravel_index(index,shape) #根据shape将一位下标index转换成多维下标

    ptp(a) #计算数组a中元素最大值与最小值的差

    median(a) #计算数组a中元素的中位数(中值)

---------------------------------------------------------------------------------------------

NumPy的梯度函数

  np.gradient(f) 计算数组f中元素的梯度,当f多维时,返回每个维度梯度

    梯度:连续值之间的变化率,即斜率

    XY坐标轴连续三个X坐标对应的y轴值:a,b,c,其中,b的梯度是:(c-a)/2

-------------------------------------------------------------------------------------

小结:

  数据存取与函数

    CSV文件

np.loadtxt()
np.savetxt()

  多维数据存取

a.tofile()
np.framfile()
np.save()
np.savez()
np.load()

  随机函数

np.random.rand()
np.random.randint()
np.random.shuffle()
np.random.choice()
np.random.randn()
np.random.seed()
np.random.permytation()

  NumPy的统计函数

np.sum()
mp.mean()
np.average()
np.std()
np.var()
np.median()
np.min()
np.max()
np.argmin()
np.argmax()
np.unravel_index()
np.ptp()

NumPy的梯度函数

np.gradient()

--------------------------------------------------------------------------------------

梯度的重构

  利用像素之间的梯度值和虚拟深度值对图像进行重构

  根据灰度变化来模拟人类视觉的明暗程度

  图像的RGB色彩模式

    图像一般使用RGB色彩模式,即每个像素点的颜色由红(R),绿(G),蓝(B)组成

    R 取值范围,0-255

    G 取值范围,0-255

    B 取值范围,0-255

  PIL库(Python Image Library)

    一个具有强大图像处理能力的第三方库

    from PIL import Image

    Image 是PIL库中代表一个图像的类(对象)

    图像是一个由像素组成的二维矩阵,每个元素是一个RGB

原文地址:https://www.cnblogs.com/mysterious-killer/p/9895387.html

时间: 2024-10-10 10:33:56

Numpy (嵩老师.)的相关文章

数据分析与展示——NumPy库入门

这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组织形式.数据维度就是在数据之间形成特定关系表达多种含义的一个概念. 一维数据: 一维数据由对等关系的有序或无序数据构成,采用线性方式组织.对应列表.数组和集合等概念. 列表和数组:一组数据的有序结构. 区别: 列表:数据类型可以不同 数组:数据类型相同 二维数据: 二维数据由多个一维数据构成,是一维数据的组合

数据可视化之数据分析与展示

Python数据分析与展 本课程共包括4周内容,分别讲解: (1)Python第三方库NumPy,讲解N维数据的表达及科学计算的基本概念和运算方法: (2)Python第三方库Matplotlib,讲解绘制坐标系.散点图.极坐标图等直观展示数据趋势和特点的方法: (3)Python第三方库Pandas,强大的专业级数据分析和处理第三方库,介绍并讲解Series和DataFrame数据类型的表示和基本使用. 该课程希望传递"理解和运用计算生态,培养集成创新思维"的理念,重点培养学习者运用

Python自学日志_2017/9/05

9月5日今天早晨学习了网易云课程<Python做Web工程师课程>提前预习课程<学会开发静态网页>.轻松的完成了第五节课的两个实战作业--感觉自己这几天的功夫没有白费,总算学会了点儿东西,即使是非常浅薄也满足感爆棚.也浏览了一遍第6节课<用css定制10MINs首页(上)>和第7节课<用css定制10MINs首页(下)>,第一遍看有点乱,没明白.明天天的学习方向是将这两节课重新仔细的学习一遍,并且记录笔记,完成作业.下午学习了中国大学Mooc课程嵩天老师的&

关于这周的学习

这周我主要学习了JAVA程序设计,包括对图形的周长和面积的程序设计, 通过这次学习JAVA的程序设计,我有很多的体会.我觉得学习java最重要的就是方法.好的方法最重要.比如遇到问题要积极问别人.但是不能总是问别人.自己遇到的问题就得自己积极的解决.最重要的是看那些书,我前两天看了姚嵩老师让我们看的相关的学习JAVA的资料,JAVA比起以前学的C#来说内容太散,各个部分要自己整合.相信就是入门难,只要会了相应的方法就能很简单吧. 以后继续加油. 未完  待续.

一周总结(13周)

这周复习了姚嵩老师的软件测试,了解了它的含义.目的与单线程和多线程,多线程与多任务之间的差别. 软件测试使用人工或者自动手段来运行或测试某个系统的过程.其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.它是帮助识别开发完成的计算机软件的正确度和完全度和质量的软件过程:是SQA的重要子域. 1.测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进: 2.这种分析也能帮助测试人员设计出有针对性的测试方法,

嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&amp;seid=10211084839195730432#page=25 中的38-41讲

# -*- coding: utf-8 -*-#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的38-41讲# 文件# 文件是存储在外部介质上的数据或信息的集合# 文件是有序的数据序列# 常用的编码# ASCII码是标准化字符集# 7个二进制位编码# 表示128个字符 # ord() 将字符转化为ASCII码, chr() 将AS

嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&amp;seid=15873837810484552531 中的15-22讲

#coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的15-22讲#数字类型的关系#三种类型存在一种逐渐扩展的关系:#整数 ->浮点数 ->复数(整数是浮点数的特殊,浮点数是复数的特殊)#不同数字类型之间可以进行混合运算,运算后生成的结果为最宽类型.如整数+浮点数=浮点数#三种类型可以相互转换#函数:int(), fl

【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识

前面几篇文章采用的案例的方法进行介绍的,这篇文章主要介绍Python常用的扩展包,同时结合数据挖掘相关知识介绍该包具体的用法,主要介绍Numpy.Pandas和Matplotlib三个包.目录:        一.Python常用扩展包        二.Numpy科学计算包        三.Pandas数据分析包        四.Matplotlib绘图包 前文推荐:       [Python数据挖掘课程]一.安装Python及爬虫入门介绍       [Python数据挖掘课程]二.K

线性代数和numpy

一.代数是什么 代数->数的抽象表示->向量空间(线性空间) 线代->线性代数 关系: 向量空间之间和内部转换是通过线性变换. 实数——一维空间的点 复数——二维空间的点 如果两个向量的组合可以生成平面,则要求两个向量要线性无关. 推广一下,N维空间里点可以用N个线性无关的向量来表示.这N个向量就是这个平面的基. 向量的封闭——对加法和数乘封闭. 向量V中任意两个向量a,b加法a+b,仍然在V中,实数乘法x*b,仍然也在V中. 线性相关——其中的一个向量可以用其他的向量表示出来. 矩阵操