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. 【C++ Primer Plus】编程练习答案——第8章

    1 void ch8_1_print(const std::string & str, int n = 0 ) { 2 using namespace std; 3 static int fl ...

  2. 憋了很久,终于弄懂什么是IOC(控制反转)

    导航 共享充电宝 IOC思想 复杂的依赖关系 IOC定义 Spring中的IOC IOC与工厂模式 IOC容器的技术剖析 结语 参考   本节是摘自<Spring Boot 实战纪实>的第 ...

  3. 11.3 LVS

    LVS是什么 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.o ...

  4. golang引用第三方包的报错:no required module provides package [完美解决]

    关于golang第三方包的引用报错:no required module provides package : go.mod file not found in current directory o ...

  5. 如何正确使用JMeter性能测试?紧扣面试实际要求

    前段时间专门挑了一段时间在准备面试.经过两次面试后,有一些比较深刻的认识.对于企业要求来说,除了对专业理论知识考究之外,对测试工具这块也是看重的. 一.使用JMeter测试快速入门 1.线程组是什么 ...

  6. Flask的环境配置

      Flask django是大而全,提供所有常用的功能 flask是小而精,只提供核心功能 环境配置 为了防止 django和 flask环境相互冲突,可以使用 虚拟环境分割开 pip instal ...

  7. 【数据结构】c语言实现集合的交并差运算

    待改写:存储数据类型int-->char 重复的元素可存储 功能上不完善 #include <stdio.h> #include <stdlib.h> typedef s ...

  8. VUE中v-for更新检测

    口诀: 数组变更方法,就会导致 v-for 更新,页面更新 数组非变更方法:返回新数组,就不会导致 v-for 更新,更新值检测不到可采用覆盖或者 this.$set() 数组变更方法如下: 1. a ...

  9. 将DataFrame赋值为可变变量在spark中多次赋值后运行速度减慢的问题

    该问题先标记上,之后有空了研究原因. 在var dataframe后将dataframe作为参数输入某方法,将结果重新赋予该dataframe,会导致spark运行显著减慢速度.暂时不知道原因,之后研 ...

  10. k8s 关于Job与Cronjob

    在Kubernetes 中通过创建工作负载资源 Job 可完成大型计算以及一些批处理任务.比如 Job 转码文件.获取部分文件和目录,机器学习中的训练任务等.这篇小作文我们一起来了解 k8s 中关于 ...