编写一个取数组平均值的 python 函数

Writing a python function that takes mean of array

我正在尝试回答以下问题,但当我 运行 时我不明白错误代码(未找到所需参数 'object' (pos 1))。任何帮助将不胜感激。

编写一个 python 函数,接受两个数组和 returns: a) 第一个数组的平均值

def first_mean(a,b):
    a = np.array()
    b = np.array()
    return np.mean(a)
first_mean([2,3,4],[4,5,6])

b) 第二个数组的平均值

def second_mean(a,b):
    a = np.array()
    b = np.array()
    return np.mean(b)
second_mean([2,3,4],[4,5,6])

c) 两个数组的 Mann-Whitney U 统计量和相关的 p 值?

def mantest(a,b):
    a = np.array()
    b = np.array()
    return scipy.stats.mannwhitneyu(a,b)
mantest([2,3,4],[4,5,6])

您无缘无故地在函数中创建了新的空数组。您还为它们指定了与输入参数相同的名称,从而丢弃了原始输入数组。

你所做的归结为

>>> np.mean(np.array())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Required argument 'object' (pos 1) not found

你需要做的就是删除无用的行

a = np.array()
b = np.array()

来自您的函数。

演示:

>>> def first_mean_nobody_knows_why_this_has_two_arguments(a, b):
...     return np.mean(a)
... 
>>> a = np.array([1,2,3])
>>> b = np.array([4,5,6])
>>> first_mean_nobody_knows_why_this_has_two_arguments(a, b)
2.0