编写一个取代数组的python函数

时间:2016-02-13 14:21:31

标签: python arrays scipy anaconda

我正在尝试回答下面的问题,但是当我运行它时我不理解错误代码(未找到必需参数'object'(pos 1))。任何帮助将不胜感激。

编写一个python函数,它接受两个数组并返回: 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])

1 个答案:

答案 0 :(得分:2)

您正在无理由地在函数中创建新的空数组。您还为它们提供了与输入参数相同的名称,从而丢弃了原始输入数组。

你正在做的事情归结为

>>> 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