【问题标题】:Writing a python function that takes mean of array编写一个取数组均值的python函数
【发布时间】:2016-02-13 14:21:31
【问题描述】:

我正在尝试回答以下问题,但我在运行它时不理解错误代码(未找到必需的参数“对象”(位置 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])

【问题讨论】:

  • @timgeb 输入速度太快。没有复制粘贴哈哈谢谢指出错误

标签: python arrays scipy anaconda


【解决方案1】:

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

你所做的归结为

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

【讨论】:

  • 嗯,是的,我刚才看到你的评论后才意识到这个愚蠢的错误。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
相关资源
最近更新 更多