Numpy的高级函数where和extract函数
照例我们先导入numpy库
#导入numpy
import numpy as np
首先我们先要定义一个用于操作的numpy数组(numpy中的数组都是ndarray):
x=np.array([[1,2,3],[4,5,6],[7,8,9]])
print("x")
print(x)
输出结果:
x
[[1 2 3]
[4 5 6]
[7 8 9]]
1、numpy.where()函数,此函数返回数组中满足某个条件的元素的索引,直接上代码。
//这里我们输出x数据中大于5的元素的索引
y=np.where(x>5)
print(y)
输出结果:
(array([1, 2, 2, 2], dtype=int64), array([2, 0, 1, 2], dtype=int64))
//使用索引取出元素"
print(x[y])
输出结果:
[6 7 8 9]
2、numpy.extract()函数,和where函数有一点相,不过extract函数是返回满足条件的元素,而不是元素索引,下面我们的例子返回数组x 的元素 模2等于0的元素。
先定义一个条件:
#定义条件,(元素 % 2==0)
condition=np.mod(x,2)==0
print(condition)
输出结果:
[[False True False]
[ True False True]
[False True False]]
返回满足条件的元素:
//获取满足条件的元素
print(np.extract(condition,x))
输出结果:
[2 4 6 8]
好了,今天的分享就先到这里,欢迎大家持续关注我,后续我会持续更新Python和numpy相关的内容!