Numpy库的学习(二)
今天来继续学习一下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库的学习(二)的更多相关文章
- Numpy库的学习(三)
今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...
- Numpy库的学习(五)
今天继续学习一下Numpy库,废话不多说,整起走 先说下Numpy中,经常会犯错的地方,就是数据的复制 这个问题不仅仅是在numpy中有,其他地方也同样会出现 import numpy as np a ...
- Numpy库的学习(四)
我们今天继续学习一下Numpy库 接着前面几次讲的,Numpy中还有一些标准运算 a = np.arange(3) print(a) print(np.exp(a)) print(np.sqrt(a) ...
- Numpy库的学习(一)
今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...
- numpy库的学习笔记
一.ndarray 1.numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”. 2.ndarray是一个多维数组的对象,ndarray数组一般要求所有元素类型相 ...
- Python数据分析Numpy库方法简介(二)
数据分析图片保存:vg 1.保存图片:plt.savefig(path) 2.图片格式:jpg,png,svg(建议使用,不失真) 3.数据存储格式: excle,csv csv介绍 csv就是用逗号 ...
- numpy、pandas学习二
#numpy中arrary与pandas中series.DataFrame区别#arrary生成数组,无索引.列名:series有索引,且仅能创建一维数组:DataFrame有索引.列名import ...
- python的numpy库的学习
1.创建 array(序列类型).asarray.arange.ones.ones_like.zeros.zeros_like.empty.empty_like.eye.identity 2.运算 两 ...
- Numpy库基础___二
ndarray一个强大的N维数组对象Array •ndarray的变换 x.reshape(shape)重塑数组的shape,要求元素的个数一致,不改变原数组 x = np.ones((2,3,4), ...
随机推荐
- 解放程序员双手之Supervisor
前言 对于大部分程序员来说,主要工作都是进行编码以及一些简单的中间件安装,这就导致了很多人对于“运维”相关的工作会比较生疏.例如当我们拥有一台自己的服务器以后,可能会在上面跑一跑自己blog程序, ...
- Docker最全教程之使用 Visual Studio Code玩转Docker(二十)
前言 VS Code是一个年轻的编辑器,但是确实是非常犀利.通过本篇,老司机带你使用VS Code玩转Docker——相信阅读本篇之后,无论是初学者还是老手,都可以非常方便的玩转Docker了!所谓是 ...
- aps .net MVC单用户登录
当不允许多用户同时登录一个帐号时,就需要一种机制,当再登录一个相同的帐号时,前面登录的人被挤下线. 原文地址:http://www.cnblogs.com/f23wangj/p/4984302.htm ...
- 设计模式之适配者模式——Java语言描述 | Amos H's blog
适配器模式是作为两个不兼容的接口之间的桥梁.这种类型的设计模糊属于结构性模式,它结合了两个独立接口的功能 概念阐述 使用适配器模式可以解决在软件系统中,将一些旧的类放入新环境中,但是新环境要求的接口旧 ...
- 好看又能打的CRM系统大比拼:Salesforce, SugarCRM, Odoo等
介绍 今天的CRM市场提供了大量的解决方案和软件替代品.有些适合大型企业(通常需要内部托管),而其他企业则更多地应用于SME的需求(通常使用云托管解决方案). 在CRM解决方案方面,提供商必须调整其产 ...
- LDAP概念和原理介绍
LDAP概念和原理介绍 相信对于许多的朋友来说,可能听说过LDAP,但是实际中对LDAP的了解和具体的原理可能还比较模糊,今天就从“什么是LDAP”.“LDAP的主要产品”.“LDAP的基本模型”.“ ...
- oracle 常用索引分析,使用原则和注意事项
本文参考: https://www.cnblogs.com/wishyouhappy/p/3681771.html https://blog.csdn.net/weivi001/article/det ...
- Java相关面试题总结+答案(二)
[容器] 18. Java 容器都有哪些? 19. Collection 和 Collections 有什么区别? Collection 是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法, ...
- 【朝花夕拾】Android性能篇之(八)ANR篇--草稿
1.ANR概念 2.ANR发生场景 Android开发者官网 上说到了两个原因:(1)点击按键或者触摸屏幕等输入事件在5s内没有响应:(2)10s内没有完成广播事件.如下所示: Android wil ...
- okhttputils【 Android 一个改善的okHttp封装库】使用(三)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这一篇主要讲一下将OkHttpUtils运用到mvp模式中. 数据请求地址:http://www.wanandroid.com/to ...