Numpy根据条件批量修改元素的值(numpy.where)

Posted Xavier Jiezou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy根据条件批量修改元素的值(numpy.where)相关的知识,希望对你有一定的参考价值。


引言

Numpy 数组如果想根据条件批量修改元素的值可以使用 numpy.where() 函数。

描述

numpy.where(condition[, x, y])

第一参数 condition 是条件,条件成立,返回 x 作为元素的值;否则,返回 y 作为元素值。

示例

单条件

>>> import numpy as np
>>> a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.where(a < 5, a, 10*a)
array([ 0,  1,  2,  3,  4, 50, 60, 70, 80, 90])

多条件

>>> import numpy as np
>>> a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.where((a > 3) & (a < 7), a, 10*a)
array([ 0, 10, 20, 30,  4,  5,  6, 70, 80, 90])

参考

https://numpy.org/doc/stable/reference/generated/numpy.where.html

以上是关于Numpy根据条件批量修改元素的值(numpy.where)的主要内容,如果未能解决你的问题,请参考以下文章

Python:numpy/pandas 根据条件更改值

mysql根据不同的id,修改莫一字段不同的值 批量修改

用0到1之间的值替换numpy数组元素[重复]

mysql如何根据一列值更新另一列的值?

Numpy修改数组中的元素值

Numpy修改数组中的元素值