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. kubelet源码分析——关闭Pod

    上一篇说到kublet如何启动一个pod,本篇讲述如何关闭一个Pod,引用一段来自官方文档介绍pod的生命周期的话 你使用 kubectl 工具手动删除某个特定的 Pod,而该 Pod 的体面终止限期 ...

  2. sarama的消费者组分析、使用

    以前老的sarama版本不支持消费者组的消费方式,所以大多数人都用sarama-cluster. 后来sarama支持了消费者组的消费方式,sarama-cluster也停止维护了,但网上关于sara ...

  3. 题解 CF1119H Tripe题解

    题目传送门 题目大意 给出\(n,t,x,y,z\),值域\(\le 2^t\),给出\(n\)个三元组\((a_i,b_i,c_i)\),表示有\(x\)个\(a_i\),\(y\)个\(b_i\) ...

  4. 洛谷2093 JZPFAR + KD-Tree学习笔记 (KD-Tree)

    KD-Tree这玩意还真的是有趣啊.... (基本完全不理解) 只能谈一点自己的对KD-Tree的了解了. 首先这个玩意就是个暴力... 他的结构有点类似二叉搜索树 每一层都是以一个维度作为划分标准. ...

  5. Windows用cmd编译运行Java程序

    https://www.runoob.com/w3cnote/windows10-java-setup.html

  6. JVM详解(六)——对象的实例化、内存布局与访问定位

    一.对象的实例化 1.创建对象的方式 2.创建对象的步骤 脑图:https://www.processon.com/view/link/61701a927d9c087040525226 3.对象属性赋 ...

  7. 80. 删除有序数组中的重复项 II

    题目 给你一个有序数组 nums ,请你原地删除重复出现的元素(不需要考虑数组中超出新长度后面的元素),使每个元素最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入 ...

  8. 求求你了,用Docker吧

    这是一个开始使用 Docker 的 Tutorial 大无语事件发生!大数据课实验课要用到Hadoop,实验指导是在一个Ubuntu虚机上通过安装包安装Hadoop并运行一个词频统计程序,整个实验就是 ...

  9. 敏捷 Scrum Master 的難點

    什麼是 Scrum Master? Scrum master 是一個團隊角色,負責確保團隊遵守敏捷方法和原則並符合團隊的流程和實踐. Scrum Master 促進敏捷開發團隊成員之間的協作.Scru ...

  10. Golang通脉之反射

    什么是反射 官方关于反射定义: Reflection in computing is the ability of a program to examine its own structure, pa ...