我试图理解numpy where condition。
>>> import numpy as np
>>> x = np.arange(9.).reshape(3, 3)
>>> x
array([[ 0., 1., 2.],
[ 3., 4., 5.],
[ 6., 7., 8.]])
>>> np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2]))
在上面的例子中,输出实际意味着什么,数组([0,1,2])我实际上在输入中看到什么是数组([2,2,2])
答案 0 :(得分:2)
第一个数组表示行号,第二个数组表示相应的列号。
如果array
如下:
array([[ 0., 1., 2.],
[ 3., 4., 5.],
[ 6., 7., 8.]])
然后是以下
(array([2, 2, 2]), array([0, 1, 2]))
可以解释为
array(2,0) => 6
array(2,1) => 7
array (2,2) => 8
答案 1 :(得分:0)
找到三个元素,位于(2,0),(2,1),(2,2)..
顺便说一下,试试series: [{
type: 'candlestick',
name: 'AAPL Stock Price',
data: [{
time: 0,
high: 100,
low: 50,
open: 60,
close: 80,
dataLabels: {
borderRadius: 0,
backgroundColor: 'green',
borderWidth: 4,
borderColor: 'black'
}
},
{
time: 1,
high: 90,
low: 50,
open: 80,
close: 70
},
{
time: 2,
high: 80,
low: 10,
open: 40,
close: 60
},
{
time: 3,
high: 80,
low: 10,
open: 60,
close: 40
},
],
}]
会对你有所帮助。
答案 2 :(得分:0)
您可能还想知道这些值在数组中以何种方式显示。在这种情况下,您可以返回条件为True的数组值和空值为false的值。在下面的示例中,x的值在x> 5的位置返回,否则指定-1。
x = np.arange(9.).reshape(3, 3)
np.where(x>5, x, -1)
array([[-1., -1., -1.],
[-1., -1., -1.],
[ 6., 7., 8.]])