python - Numpy 数组仅将函数应用于某些元素

标签 python numpy multidimensional-array exp

我有一个 numpy 数组,比如说它的形状是 (10,10)。 现在我想将 np.exp() 应用于此数组,但仅应用于满足条件的某些特定元素。例如,我想将 np.exp 应用于所有非 0 或 1 的元素。有没有一种方法可以在不使用 for 循环迭代数组的每个元素的情况下做到这一点?

最佳答案

这可以通过基本的 numpy 操作来实现。这是一种方法:

A = np.random.randint(0,5,size=(10,10)).astype(float)  # data
goods = (A!=0) & (A!=1)  # 10 x 10 boolean array
A[goods] = np.exp(A[goods])  # boolean indexing

关于python - Numpy 数组仅将函数应用于某些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47162048/

相关文章:

python - 如何从 scipy LinearOperator 获取 numpy 数组?

python - pandas 和 numpy 的意思不同

c++ - 如何将二维数组中的值加倍? C++

python - WT 表格 : how do I set a default value for an HTML5 Widget?

python - 使用selenium时如何修复异常 "Message: timeout (Session info: headless chrome=77.0.3865.50)"?

python - 以root身份运行pygame脚本时,没有声音输出吗?

python - 按值的前两个字符过滤值数组

jquery - 如何从多个 html 列表中的属性构建一个数组?

c++ - 用户指定的二维数组大小

python - 尝试求解隐式方程时出现 UnboundLocalError 'referenced before assignment'