文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Numpy库的学习(二)

2023-01-31 00:27

关注

 

今天来继续学习一下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中的矩阵操作

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯