aa = np.arange(10)
np.where(aa,1,-1)
array([-1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) # 0为False,所以第一个输出-1
疑问1,where函数的第一个参数为条件,把序列当成条件是什么意思?条件不是大于小于等这一类的吗?总之结果怎么来的
np.where([[True,False], [True,True]],
[[1,2], [3,4]],
[[9,8], [7,6]])
array([[1, 8],
[3, 4]])
疑问2,[[True,False], [True,True]]为条件,满足条件输出 [[1,2], [3,4]],不满足输出 [[9,8], [7,6]]。(where函数的用法是这样的),结果是怎么来的
np.where([[0, 1], [1, 0]])
(array([0, 1]), array([1, 0]))
上面这个例子条件中[[0,1],[1,0]]的真值为两个1,各自的第一维坐标为[0,1],第二维坐标为[1,0] 。
疑问3,这个结果和解释到底怎么来的
a = np.arange(27).reshape(3,3,3)
a
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
np.where(a > 5)
(array([0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2]),
array([2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2]),
array([0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]))
疑问4 这个结果得到的索引值也是完全看不懂