在numpy中计算一个函数的平均值或中值

2024-04-19 15:24:34 发布

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

我有一个函数,根据用户的输入,计算数字阵列. 我是这样写的

 import numpy as np
 ...
 if input=='means':
      return np.mean(matrix, axis=1)
 if input=='median':
     return np.median(matrix, axis=1)

但这看起来有点麻烦。我想可能有一个标准的numpy函数,它将数组和操作作为输入。我在想类似于R的tapply(X, Y, FUNCTION=Z),其中{}可以是任何类型的函数。但我在docs或谷歌上找不到任何东西。。。在

  • 《纽比》里有这样的东西吗?在
  • 如果没有具体的功能,有人能想出一个好办法 这么做?在

谢谢!在


Tags: 函数用户importnumpyinputreturnifas
2条回答

我觉得你不需要什么特别的东西。在

例如:

def myFunc(matrix, func, axis=1):
    return func(matrix)

然后,要使用函数:

^{pr2}$

如果您的输入字符串是mean而不是means,则可以执行以下操作:

return getattr(np, input)(matrix, axis=1)

在这里,getattr调用从numpy库获取您想要的函数。然后第二组括号调用该函数。在

相关问题 更多 >