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

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

  1. Matplotlib(嵩老师.)

    Matplotlib 库的使用 Matplotlib 库有各种可视化类构成,内部结构复杂,受Matlab启发 matplotlib.pyplot是绘制个类可视化图形的命令子库相当于快捷方式   imp ...

  2. 【Python全栈-后端开发】嵩天老师-Django

    嵩天老师-Python云端系统开发入门教程(Django) 视频地址:https://www.bilibili.com/video/av19801429 课前知识储备: 一.课程介绍: 分久必合.合久 ...

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

    这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...

  4. Python自学日志_2017/9/05

    9月5日今天早晨学习了网易云课程<Python做Web工程师课程>提前预习课程<学会开发静态网页>.轻松的完成了第五节课的两个实战作业--感觉自己这几天的功夫没有白费,总算学会 ...

  5. python网络爬虫学习笔记(二)BeautifulSoup库

    Beautiful Soup库也称为beautiful4库.bs4库,它可用于解析HTML/XML,并将所有文件.字符串转换为'utf-8'编码.HTML/XML文档是与“标签树一一对应的.具体地说, ...

  6. python网络爬虫学习笔记(一)Request库

    一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个 ...

  7. python操作文件

    OS模块 1.getcwd() 用来获取当前工作目录 >>> import os >>> os.getcwd() 'D:\\Postgraduate\\Python ...

  8. python3编码问题总结

    关于python3的编码类型,到底是怎么编码的,一直使我比较疑惑,在看了网上很多帖子之后,经过自己尝试与实验,将自己的总结写在下面,一是当做一次笔记,二是希望网友们能指正.仅供参考,欢迎指正,谢谢!! ...

  9. Spring第三天,详解Bean的生命周期,学会后让面试官无话可说!

    点击下方链接回顾往期 不要再说不会Spring了!Spring第一天,学会进大厂! Spring第二天,你必须知道容器注册组件的几种方式!学废它吊打面试官! 今天讲解Spring中Bean的生命周期. ...

随机推荐

  1. LaTeX bib 引用为 作者 + 年份

    将bib文件命名为ref.bib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% @Description: %%%%%%%% @Version: 1.0 %%%% ...

  2. IP多播与NAT地址转化

    IP多播 与单播相比,在一对多的通信中,多播可以大大减少网络资源.在互联网上进行多播就叫做IP多播,IP多播所传送的分组需要使用IP多播地址. 如果某台主机想要收到某个特定的多播分组,那么怎样才能是这 ...

  3. 从零入门 Serverless | 企业级 CI/CD 工具部署 Serverless 应用的落地实践

    背景知识 通过以往几节课程的学习,相信大家对于 SAE 平台已经有了一定的了解.SAE 为客户免除了很多复杂的运维工作,开箱即用.按用量付费:与此同时 SAE 提供了丰富的 Open API,可以很容 ...

  4. NOIP 模拟 七十七

    100+60+95+30; T4 一个变量打错挂了40.. T1 最大或 考虑从高到低枚举的二进制位,然后和的对应二进制位进行比较.如果两 者相同,那么不论怎么选择,,答案在这个位置上的值一定和在这个 ...

  5. 【数据结构与算法Python版学习笔记】图——最短路径问题、最小生成树

    最短路径问题 概念 可以通过"traceroute"命令来跟踪信息传送的路径: traceroute www.lib.pku.edu.cn 可以将互联网路由器体系表示为一个带权边的 ...

  6. Matlab/Modelsim图像联合仿真平台

    FPGA图像仿真平台 1 引言 在使用modelsim进行图像算法的功能仿真时,无法得到图像的实时预览,因此直观性有所欠缺.因此可配合matlab使用,通过modelsim读出txt格式的图像,利用m ...

  7. 你知道什么是JUC了吗?

    多线程一直Java开发中的难点,也是面试中的常客,趁着还有时间,打算巩固一下JUC方面知识,我想机会随处可见,但始终都是留给有准备的人的,希望我们都能加油!!! 沉下去,再浮上来,我想我们会变的不一样 ...

  8. netty入门实现简单的echo程序

    最近看以往在程序中编写的代码,发现有一个功能是使用socket通讯来实现的,而那个时候使用的是基于bio的阻塞io来实现的,最近在看netty,发现可以使用netty来使用nio的方式来实现,此博客记 ...

  9. spring social理解

    现在互联网飞速发展,人们每天在互联网上冲浪,获取各种信息.各大网站为了方便用户的登录,提供了各式各样的社交登录,比如:QQ.微信和微博登录等.这些主流的社交登录大多是基于oauth协议进行实现,spr ...

  10. [CSP-S 2021] 回文

    题目描述: 给定正整数 n 和整数序列 a1, a2,-,a2n,在这 2n 个数中,1, 2,-,n 分别各出现恰好 2 次.现在进行 2n 次操作,目标是创建一个长度同样为 2n 的序列 b 1, ...