今天来继续学习一下Numpy库的使用

接着昨天的内容继续

在Numpy中,我们如果想要进行一个判断使用“==”

我们来看下面的代码

vector = np.array([5,10,15,20,25])
vector == 10

我们来看看上面的代码,这段代码表示的是什么意思呢?

vector == 10 表示的是,当前的array当中所有的元素都会进行判断

是否等于10

我们可以看到,运行结果为上图所示,只有第2个值为True 那么这里可以看到是对每一个值都进行了判断

那么矩阵操作也是一样的

matrix = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
])
matrix == 5

可以看到运行结果,只有第2行,第2列值为5的位置,为True,其他都为False

当然得到的判断结果,是一个布尔类型的

那么我们如果现在已经对判断熟悉了,我们已经做了判断

但是我想把这个元素取出来应该如果操作呢?

vector = np.array([5,10,15,20,25])
index = (vector == 10)
print (index)
print (vector[index])

我们先将数组,进行判断,让后将这个判断结果存入一个值中,作为一个索引

打印结果如下

结果等于10,说明可以帮我们把True返回,False值直接过滤掉

当然在矩阵操作中也是一样的

matrix = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
])
i5 = (matrix[:,1]==5)
print(i5)
print(matrix[i5,:])

Numpy中也有与和或这样的逻辑运算,比我我们要计算

vector = np.array([5,10,15,20,25])
equal = (vector == 10)&(vector==5)
print(equal)

这里可以看出,与运算中,既要等于10,又要等于5,在返回的结果中,全为False

需要判断是否同时满足条件

在看一下或的关系

vector = np.array([5,10,15,20,25])
equal = (vector == 10)|(vector==5)
print(equal)

结果可以看出,前面两个元素,都满足了或的关系,返回True

接下来我们说下如何替换满足关系的值

vector = np.array([5,10,15,20,25])
equal = (vector == 10)|(vector==5)
vector[equal]=30
print(vector)

将满足条件的值进行替换,返回替换后的向量

矩阵操作如下

matrix = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
])
i5 = matrix[:,1]==5
print(i5)
matrix[i5,1] = 10
print(matrix)

运行上述代码,我们可以将中间行5的值,替换为10

接下来我们在讲下在Numpy中如何做类型转换的

vector = np.array([5,10,15,20,25])
print(vector.dtype)
print(vector)
vector = vector.astype(float)
print (vector.dtype)
print(vector)

我们先将一个,类型为int的向量,的dtype值打印出来

在将这个向量进行astype的转换,转换为float值

结果可以看到,原来的int32类型,被转换成了float64类型

在说下,比如我们通常需要进行数学运算,进行最大值, 最小值得求值

vector = np.array([5,10,15,20,25])
vector.min()

取一个最小值

vector = np.array([5,10,15,20,25])
vector.max()

取一个最大值

如何对矩阵,按照行,或者按照列的方式,进行求和操作

可以看到,我们指定维度为1,也就是按照行的方式进行一个求和

matrix = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
])
matrix.sum(axis=1)

axis =1 为按照行的方式进行求和,axis = 0 按照列的方式进行求和

好的,今天就先讲到这里,感谢各位阅读~~欢迎点赞转发!下次我们继续讲讲Numpy中的矩阵操作

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

  1. Numpy库的学习(三)

    今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...

  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库的学习(一)

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

  5. numpy库的学习笔记

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

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

    数据分析图片保存:vg 1.保存图片:plt.savefig(path) 2.图片格式:jpg,png,svg(建议使用,不失真) 3.数据存储格式: excle,csv csv介绍 csv就是用逗号 ...

  7. numpy、pandas学习二

    #numpy中arrary与pandas中series.DataFrame区别#arrary生成数组,无索引.列名:series有索引,且仅能创建一维数组:DataFrame有索引.列名import ...

  8. python的numpy库的学习

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

  9. Numpy库基础___二

    ndarray一个强大的N维数组对象Array •ndarray的变换 x.reshape(shape)重塑数组的shape,要求元素的个数一致,不改变原数组 x = np.ones((2,3,4), ...

随机推荐

  1. 兼容IE8浏览器移除class样式的方法

    项目中发现,IE8下不兼容JQ的removeClass和addClass,页面无效果 网上找了很多方法都没有效果,最终找到一个很好的笨方法 var div=document.getElementByI ...

  2. h5实现实时时钟

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta nam ...

  3. Mac OS X中开启或关闭显示隐藏文件命令

    前言:之前一直用的都是 windows 系统的电脑,刚接触 Mac ,很多功能都不熟悉,写下博客记录一下,以防以后忘记,也给后来者提供方便. 命令行方式:显示隐藏文件: defaults write ...

  4. Git学习:如何登陆以及创建本地代码仓库、并提交本地代码至Github(最简单方法)

    在我们的实际开发当中,代码经常会被公司要求上传到网络上,能够大家共同完成一个项目,因此掌握git技能也是一项必不可少的技能了,这里我们来学习以下基本的git操作.首先我们要想使用git这个东西需要把它 ...

  5. RMAN优缺点及RMAN备份及恢复步骤

    RMAN优缺点及RMAN备份及恢复步骤--以下部分来自网络转摘,仅供参考和OS命令备份方式相比,使用RMAN的优点1 备份执行期间不需要人工干预,因此减少了误操作的机会:2 可以有效的将备份和恢复结合 ...

  6. 【转载】Win7利用任务计划程序实现定时关机

    在Win7.Win8或者Win10系统中,如果要实现电脑的自动定时关机,不需要借用任何的外部程序,直接系统自带的任务计划程序即可实现电脑的定时自动关机,支持设定电脑关机时间以及执行频率次数,如固定每天 ...

  7. 好程序员web前端分享CSS基础篇

    学习目标 1.CSS简介 2.CSS语法 3.样式的创建 4.两种引入外部样式表的区别 5.样式表的优先级和作用域 6.CSS选择器 7.选择器的权重 8.浮动属性的简单应用 9.HTML.CSS注释 ...

  8. GitHub开源:升讯威 SQLite 增强组件 Sheng.SQLite.Plus

    Github:https://github.com/iccb1013/Sheng.SQLite.Plus Sheng.SQLite.Plus 是一个对直接使用 ADO.NET 方式操作 SQLite ...

  9. WebSocket整合SSM(Spring,Struts2,Maven)

    一.WebSocket与HTTP长轮询 WebSocket 属于HTML5 规范的一部分,提供的一种在单个 TCP 连接上进行全双工通讯的协议.允许服务端主动向客户端推送数据.在 WebSocket ...

  10. Pytorch系列教程-使用字符级RNN对姓名进行分类

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