【发布时间】:2022-11-12 08:21:21
【问题描述】:
假设我有my_array = np.array([2, 4, 6]),我想得到另一个数组,它代表my_array 中每个元素的平均值和一个常数,比如2。所以我想返回returned_array = [2, 3, 4]。做这个的最好方式是什么?
当我尝试np.mean(my_array, 2) 时,我得到TypeError: only size-1 arrays can be converted to Python scalars。
为此,我可以创建自己的均值函数:
def mean(a,b):
return (a+b)/2
这很好用。这显然不是执行此操作的理想方法。什么是最好的方法?为什么 numpy 中的一切都必须是一种考验?
【问题讨论】:
-
我无法说出你在这里的意思。如果您想要每个元素的平均值和一个常数,那么输出矩阵的大小将与输入矩阵的大小相同,为此您可以直接使用
(my_array + 2) / 2。为什么尺寸会变小?也许你应该举一个例子。 -
“这显然不是一种理想的做法”有什么特别不理想的地方?
-
@juanpa.arrivillaga 我做到了。一切都在我给出的例子中。我的输入/变量,我尝试的操作,我收到的输出。我不知道你还想要什么。
-
另外,这不是
np.mean(my_array, 2)对我产生的错误,您使用的是哪个版本的numpy? -
@NaiveBae我误读了您的问题,我以为您是在说您定义为产生该错误的功能。