numpy中的where()函式
阿新 • • 發佈:2019-01-30
test_data=np.where(df_test>120,1,0)
where算是三目運算子,where(條件,真,假)
Return elements, either from x or y, depending on condition.
If only condition is given, return
condition.nonzero()
.
Parameters: |
condition : array_like, bool
x, y : array_like, optional
|
---|---|
Returns: |
out : ndarray or tuple of ndarrays
|
Notes
If x and y are given and input arrays are 1-D,
where
isequivalent to:
[xv if c else yv for (c,xv,yv) in zip(condition,x,y)]
Examples
>>> np.where([[True, False], [True, True]], ... [[1, 2], [3, 4]], ... [[9, 8], [7, 6]]) array([[1, 8], [3, 4]])
>>> np.where([[0, 1], [1, 0]]) (array([0, 1]), array([1, 0]))
>>> x = np.arange(9.).reshape(3, 3) >>> np.where( x > 5 ) (array([2, 2, 2]), array([0, 1, 2])) >>> x[np.where( x > 3.0 )] # Note: result is 1D. array([ 4., 5., 6., 7., 8.]) >>> np.where(x < 5, x, -1) # Note: broadcasting. array([[ 0., 1., 2.], [ 3., 4., -1.], [-1., -1., -1.]])
Find the indices of elements of x that are in goodvalues.
>>> goodvalues = [3, 4, 7] >>> ix = np.isin(x, goodvalues) >>> ix array([[False, False, False], [ True, True, False], [False, True, False]], dtype=bool) >>> np.where(ix) (array([1, 1, 2]), array([0, 1, 1]))