【问题标题】:Find the mean of array1 scores when array2 has scored less than 10当 array2 得分小于 10 时,求 array1 得分的平均值
【发布时间】:2020-07-19 16:30:18
【问题描述】:
>>> ravi = np.arange(1,13).reshape(3,4)
>>> sai = np.random.randint(1,50,12).reshape(3,4)
>>> print(ravi)
>>> print(sai)

ravi= [[ 1  2  3  4]
       [ 5  6  7  8]
       [ 9 10 11 12]]

sai = [[40  3  7 31]
       [15 16 30 20]
       [28  1 27  5]] 

对于问题 2,我尝试了以下代码

scorer =  np.maximum(ravi,sai)

  1. 将数组值视为分数。现在我想在“sai”得分低于 10 时找到“ravi”得分的平均值。

  2. 比较每场比赛的 ravi 和 sai 得分(这里是每个元素)并打印每场比赛中得分高的球员的名字。 Scorer 在数组中给出每个匹配的最高分数(scorer),而不是我希望打印他们的名字。

它给出了ValueError:具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all()

【问题讨论】:

  • 请出示您尝试过的代码?
  • 我已经提到了我尝试过的代码。我认为答案应该是,即 Ravi 得分的平均值 2+3+10+12(每次 sai 得分小于 10 即 3,7,1,5)。

标签: python arrays numpy random


【解决方案1】:

如果您的意思是,与 Sai 得分低于 10 的分数相对应的所有分数的平均值,您可以使用 np.mean(ravi[sai < 10]) 来做到这一点

【讨论】:

  • 是的,它奏效了。我的意思是与 Sai 得分低于 10 的分数相对应的所有分数的平均值
  • 你能帮我解决问题2吗
  • 对于问题2,如果ravisai长度相同,则遍历长度(for i in range(len(ravi)),如果ravi[i]大于sai[i]则打印Ravi , 否则打印 Sai
  • 它给出了一个ValueError:具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all()
  • 你能发布导致ValueError的代码
【解决方案2】:

问题 2 的答案,即每场比赛中的 ravi 和 sai 得分(这里是每个元素),并打印每场比赛中得分高的球员的名字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 2019-06-18
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多