numpy的where的用法

numpy.where()的两种用法:

1、三个参数numpy.where(condition,x,y):满足condition条件,输出x,不满足输出y。

2、一个参数numpy.where(array):输出array中‘真’值的坐标(‘真‘也可以理解为非零)。

1np.where(condition, x, y)

import numpy as np
result=np.where([[True,False],[True,True]],
                [[1111,22222],[3333,44444]],
                [[9999, 88888],[7777, 66666]])

print(result)
#[[ 1111 88888]
# [ 3333 44444]]

[[True,False],[True,True]], 标注是红色的三列是一个condition,x,y

[[1111,22222],[3333,44444]],

[[9999, 88888],[7777, 66666]]

numpy的where的用法_第1张图片

2、np.where(array)

import numpy as np
x=np.array([[0,1,2],[3,4,5],[6,7,8]])
result1=np.where(x)

print(result1)
#(array([0, 0, 1, 1, 1, 2, 2, 2]),
# array([1, 2, 0, 1, 2, 0, 1, 2]))

分析:输出八个不为0的数(为‘真’的数)的坐标,第一个array[]是横坐标,第二个array[]是纵坐标。

[0,1,2],

[3,4,5],

[6,7,8]

numpy的where的用法_第2张图片








你可能感兴趣的:(数据处理,python科学计算)