1. 如果分段数量增加,则需要嵌套多层的where()。此时可以使用select()numpy.select(condlist, choicelist, default=0)

      • 其中condlist为长度为 N的列表,列表元素为数组,给出了条件数组

      • 结果筛选规则如下:

        • condlist左到右扫描,若发现第 i 个元素(是个数组)对应位置为True或者非零,则输出元素来自choicelist 的第 i 个元素(是个数组)。因此若有多个condlist的元素满足,则只会使用第一个遇到的。
        • 如果扫描结果是都不满足,则使用default
      • condlist:为一个列表,列表元素为布尔数组,数组形状和x相同。

        • condlist[i]对应位置为 True时,则该位置处的输出值由 funclist[i]来计算。如果funclist长度比condlist长1,则当所有的condlist都是False时,则使用 funclist[len(condlist)]来计算。如果有多个符合条件,则使用最后一个遇到的(而不是第一个遇到的)
        • 列表元素可以为数值,表示一个返回为常数值(就是该数值)的函数。