Changes between Version 33 and Version 34 of coding_rules


Ignore:
Timestamp:
08/21/20 16:53:47 (5 years ago)
Author:
jdquinn
Comment:

Clarification on np.where

Legend:

Unmodified
Added
Removed
Modified
  • coding_rules

    v33 v34  
    139139||= '''MATLAB''' =||= '''!NumPy''' =||= '''Notes''' =||
    140140|| `<<cell_array>>{:}`  || `<<np.ndarray>>.flatten()` || Flatten a MATLAB cell array or !NumPy `ndarray`. ||
    141 || `find(a>0.5)` || `np.where(a>0.5)[0]`[[BR]][[BR]]`np.where(a>0.5,a,a)[0]` || Find the indices where (a > 0.5).[[BR]][[BR]]When only the {{{condition}}} parameters is provided, this function is a shorthand for `np.asarray(condition).nonzero()`.[[BR]]Further, when working on a 1D array, this array must be passed in as a value for parameters `x` and `y` if the desired output is a single array of indices rather than a tuple of arrays.[[BR]][[BR]]Note as well that `a` must be of type `np.array` (or one of its subclasses): a {{{list}}} will not automatically be cast.[[BR]][[BR]]See also: https://numpy.org/doc/stable/reference/generated/numpy.where.html ||
     141|| `find(a>0.5)` || `np.where(a>0.5)[0]`[[BR]][[BR]]`np.where(a>0.5,a,a)[0]` || Find the indices where (a > 0.5).[[BR]][[BR]]When only the {{{condition}}} parameters is provided, this function is a shorthand for `np.asarray(condition).nonzero()`.[[BR]][[BR]]Note that `a` must be of type `np.array` (or one of its subclasses): a {{{list}}} will not automatically be cast.[[BR]][[BR]]See also: https://numpy.org/doc/stable/reference/generated/numpy.where.html ||
    142142|| `find('cond1'&'cond2')` || `np.where(np.logical_and.reduce(('cond1','cond2'))[0]` || Find the indices where `'cond1'` and `'cond2'` are met.[[BR]][[BR]]The same protocol can be followed for MATLAB's `|` by instead using `logical_or`.[[BR]][[BR]]More than two conditions may be compounded. ||
    143143|| `v=nonzeros(A)` || `v=A[np.nonzero(A)]` || Find the values of the nonzero elements ||