设为首页 加入收藏

TOP

Python科学计算学习之高级数组(二)
2019-04-01 00:08:47 】 浏览:197
Tags:Python 科学 算学 习之 级数
nbsp;   #其误差是根据相对误差界限#rtolatol给出的


运行结果:


[2.46971243e-04 6.77622235e-05]


[2.78354596e-17 6.88850359e-17]


[False False]      True


1)除去基本的切片技术(见https://www.cnblogs.com/chenzhijuan-324/p/10577513.html)可以通过组合切片和整数来索引数组。这里介绍使用布尔数组根据数组中的元素的值来访问和修改数组的一部分。注意:索引操作的结果总是一个向量


例如:


B=array([[True,False],[False,True]])


M=array([[2,3],[1,4]])


print(M[B])                   #根据布尔数组进行索引


M[B]=10,20              #用其他值来替代索引所得的值  


print(M)


M[M>2]=0         #M的所有大于2的元素均被0替代


print(M)


运算结果:


[2 4]


[[10  3]


 [ 1 20]]


[[0 0]


 [1 0]]


  2Where命令:


基本结构:Where(condition,a,b)       该结构将布尔数组作为条件,并返回满足条件的数组元组的索引,或者根据布尔数组中的值返回不同的值


例如:


x=linspace(-4,4,5)


print(x)


print(where(x>0,sqrt(x),0))


print(where(x>0,1,-1))     #表示若x>0,返回1,否则返回-1


a=arange(9)


b=a.reshape((3,3))


print(b)


print(where(a>5))     #返回一个元组,这个元组包含了满足条件的元素的索引。


print(where(b>5))  


运行结果:


[-4. -2.  0.  2.  4.]


[0.         0.         0.         1.41421356 2.        ]


[-1 -1 -1  1  1]


[[0 1 2]


 [3 4 5]


 [6 7 8]]


(array([6, 7, 8], dtype=int64),)


(array([2, 2, 2], dtype=int64), array([0, 1, 2], dtype=int64))


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python基础之数组和向量化计算总结 下一篇Python基础教程之Python数据分析..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目