今天我们继续学习一下Numpy库的学习

废话不多说 ,开始讲

比如我们现在想创建一个0-14这样一个15位的数组

可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法

numpy中有一个arange函数

import numpy as np
print(np.arange(15))
a = np.arange(15).reshape(3,5)
a

运行这段代码以后,可以得到如下结果

这里我们可以看到,我先打印了一下,np.arange(15)这个结果,产生一个0-14的15位数组

然后我们将这个数据,变换成一个矩阵

可以使用reshape这个函数,将我们生成的有序数组,按照规定的方式变换成矩阵

reshape(3,5)这里的意思是,你将要生成的矩阵,是几行几列,这里是3行5列

将你的数组点上shape,可以看到你的矩阵是一个3行5列的矩阵

这个shape也是我们在使用numpy中,经常需要用到的一个函数

下面在讲一下另外一个函数

ndim,它的意思是,查看你所造的矩阵的维度是多少

可以看到,我们刚刚所造的矩阵的维度是2

如何查看当前所造的矩阵的tpey类型是什么

它是一个int32的数据类型

size这个函数,则是说明,我们当前的矩阵的大小是15

也就是矩阵有15个元素

接下来我们讲讲在Numpy中,矩阵的初始化操作

np.zeros((3,4))

这行代码,就将我们的矩阵进行了初始化的操作

也就是初始化一个3行4列的矩阵,而矩阵中的元素全部为0

这里注意的是,传参数一定是个元组的形式,而不是直接传3,4进去,这里需要注意一下

还有一点,我们可以看到,我们生成的矩阵都是0.的类型,这说明Numpy给我们

生成的矩阵都是float类型

比如,我们创建一个都是1的矩阵

np.ones((2,3,4),dtype = np.int32)

我们这里创建一个三维矩阵,传入dtype参书,类型为int32

可以的到如下矩阵

现在我们创建的值,都是为1的,我们可以指定dtype,生成你想要的数据类型

我们继续说,前面我们讲到,创建一个连续的数据

那么我们如果想从,某一个数开始, 到某个数结束,每隔多少,我们变换某个数据

这样可不可以呢?

我们可以通过下面的例子说明

可以看到这个例子,我们的一个数是,起始值,中间的数是终止值,而最后一个数

是说,我们每次要隔几。也就相当于要加几。

再比如:

每次加0.5,得到上面 的矩阵

下面在说说,numpy中的一个产生随机数的模块,也是比较常用的模块,random模块

这里注意,是random.random,也就是说,我们在构造,随机初始化矩阵是0-1之间的一个2行3列矩阵

下面在说另外一个函数,linspace

可以看到这段代码,我们是从0开始,到2倍的pi结束,在这其中,随机的生成100个数据

也就是说,从0开始,到2π结束,在这中间随机取100个值

下面我们在说说,numpy中的加减乘除的操作

a = np.array([(20,30,40,50)])
b = np.arange(4)
print(a)
print(b)
c = a - b
print(c)
c = c -1
print(c)
b**2
print(b**2)
print(a<35)

我们这里定义了一个array数组,又定义了一个b,arange(4)也就是[0,1,2,3]

那么,我先来看看如何相减,c=a-b

得到的结果是

[[20 29 38 47]]

也就是说,numpy中,对于相同纬度的东西进行相减,也就是对应位置上的相减

那么我们接着让C减去一个没有维度的,单独的数值,是什么情况

[[19 28 37 46]]
得到这样一个结果,也就是说,所有的元素都进行相减操作

那么我们让b做一个平方操作,可以看到,b的所有元素都进行了平方操作。

那么对于做大小对比的操作,我们可以看到,对每一个元素都进行了大小判断,是不是小于35,返回True False

我们下来,看看矩阵操作

用a*b,相当于求內积

a.dot(b),相当于行乘以列的操作,1*2+1*3=5,以此类推得到

[[5 4]
[3 4]]

print(np.dot(a,b)),也是进行一个矩阵的相乘,两种用法都可以实现。得到我们想要矩阵。

好的,今天就先讲到这里!感觉各位阅读,欢迎点赞转发!谢谢各位支持!!

Numpy库的学习(三)的更多相关文章

  1. Numpy库的学习(一)

    今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...

  2. Numpy库的学习(五)

    今天继续学习一下Numpy库,废话不多说,整起走 先说下Numpy中,经常会犯错的地方,就是数据的复制 这个问题不仅仅是在numpy中有,其他地方也同样会出现 import numpy as np a ...

  3. Numpy库的学习(四)

    我们今天继续学习一下Numpy库 接着前面几次讲的,Numpy中还有一些标准运算 a = np.arange(3) print(a) print(np.exp(a)) print(np.sqrt(a) ...

  4. Numpy库的学习(二)

    今天来继续学习一下Numpy库的使用 接着昨天的内容继续 在Numpy中,我们如果想要进行一个判断使用“==” 我们来看下面的代码 vector = np.array([5,10,15,20,25]) ...

  5. numpy库的学习笔记

    一.ndarray 1.numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”. 2.ndarray是一个多维数组的对象,ndarray数组一般要求所有元素类型相 ...

  6. Python数据分析Numpy库方法简介(三)

    补充: np.ceil()向上取整 3.1向上取整是4 np.floor()向下取整 数组名.resize((m,n)) 重置行列 基础操作 np.random.randn()符合正态分布(钟行/高斯 ...

  7. python的numpy库的学习

    1.创建 array(序列类型).asarray.arange.ones.ones_like.zeros.zeros_like.empty.empty_like.eye.identity 2.运算 两 ...

  8. Numpy库基础___三

    ndarray一个强大的N维数组对象Array •ndarray的操作 索引 a = np.arange(24).reshape((2,3,4)) print(a) #[[[ 0 1 2 3] # [ ...

  9. Python Pandas库的学习(一)

    今天我们来学习一下Pandas库,前面我们讲了Numpy库的学习 接下来我们学习一下比较重要的库Pandas库,这个库比Numpy库还重要 Pandas库是在Numpy库上进行了封装,相当于高级Num ...

随机推荐

  1. 利用Asp.Net Core的MiddleWare思想处理复杂业务流程

    最近利用Asp.Net Core 的MiddleWare思想对公司的古老代码进行重构,在这里把我的设计思路分享出来,希望对大家处理复杂的流程业务能有所帮助. 背景 一个流程初始化接口,接口中根据传入的 ...

  2. SpringBoot自动配置原理

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾前面Spring的文章(以学习的顺序排好): S ...

  3. ArcGIS对SLD样式的支持

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.ArcGISWMS服务对SLD的支持 在完成用geoserver的w ...

  4. GitLab11.3.9 使用 Crowd3.3.2 的帐号实现 SSO 单点登录,以及GitLab配置腾讯企业邮箱

    GitLab11.3.9 的安装方法: 点击查看.   Crowd3.3.2 的安装方法:点击查看.   需要先在 Crowd 创建应用程序,参考 <Docker 创建 Crowd3.3.2 以 ...

  5. Pytorch系列教程-使用Seq2Seq网络和注意力机制进行机器翻译

    前言 本系列教程为pytorch官网文档翻译.本文对应官网地址:https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutor ...

  6. Harbor---docker镜像仓库搭建

    在用docker,kubernetes时registry是重要的一环,下面就来搭建一个镜像仓库.之前在公司时有资源域名,有做ssl证书,今天没条件就不做ssl证书和域名了. 1,下载 harbor 安 ...

  7. ubuntu16.04 apt-get update出错:由于没有公钥,无法验证下列签名

    问题: W: 校验数字签名时出错.此仓库未被更新,所以仍然使用此前的索引文件.GPG 错误:https://packagecloud.io/github/git-lfs/ubuntu xenial I ...

  8. 【TensorFlow篇】--Tensorflow框架实现SoftMax模型识别手写数字集

    一.前述 本文讲述用Tensorflow框架实现SoftMax模型识别手写数字集,来实现多分类. 同时对模型的保存和恢复做下示例. 二.具体原理 代码一:实现代码 #!/usr/bin/python ...

  9. 手撸GitLab CI(阉割版)

    上一集我们说到如何从零开始搭建一个Vue-cli 3.0的项目,而这一集我们将说到如何手写一份阉割版的CI脚本. 首先说一下GitLab部署到服务器的操作,一般有两种,一种是规范化分离的,包含runn ...

  10. [开发技巧]·HTML检测输入已完成自动填写下一个内容

    [开发技巧]·HTML检测输入已完成自动填写下一个内容 个人网站 --> http://www.yansongsong.cn 在上一个博客中简易实现检测输入已完成,我们实现了检测输入已完成,现在 ...