将函数应用于NumPy矩阵中的所有元素

2024-06-16 11:23:43 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我创建了一个3x3 NumPy矩阵。将函数应用于矩阵中所有元素的最佳方法是什么?如果可能的话,在每个元素之间不循环?

import numpy as np    

def myFunction(x):
return (x * 2) + 3

myMatrix = np.matlib.zeros((4, 4))

# What is the best way to apply myFunction to each element in myMatrix?

编辑:如果函数是矩阵友好的,那么当前提出的解决方案非常有效,但是如果它是这样一个只处理标量的函数呢?

def randomize():
    x = random.randrange(0, 10)
    if x < 5:
        x = -1
    return x

唯一的方法是遍历矩阵并将函数应用于矩阵中的每个标量吗?我不是在寻找一个特定的解决方案(比如如何随机化矩阵),而是一个一般的解决方案来在矩阵上应用一个函数。希望这有帮助!


Tags: to方法函数importnumpy元素returndef