【问题标题】:Adding arrays generated in for loop in Python在Python中添加for循环中生成的数组
【发布时间】:2022-01-16 16:20:45
【问题描述】:

我有一个 for 循环(100 次传递),它在每次传递期间生成一个 numpy 数组。有没有办法将这 100 个数组相加(按元素),然后计算代表这 100 个数组的平均值的数组?

【问题讨论】:

  • 一种选择是将数组收集到一个列表中,并从中创建一个多维数组。然后很容易沿右轴应用np.mean。但如果你只需要平均值,你可以在每一步求和,例如total += new_array,然后从该总和中获取平均值。
  • @hpaulj -- 谢谢! np.mean 建议效果很好。我没有正确收集数组作为列表,所以被赶上了。现在,它已经解决了。

标签: arrays numpy average


【解决方案1】:

也许您正在寻找:

np.mean(arr, axis=0)

或者,您可以这样做:

np.sum(arr, axis=0) / len(arr)

这里,arr 是您使用循环创建的数组。

您可以将arr 定义为:

arr = []
for i in range(100):
    # create numpy array here and assign it to x
    arr.append(x)

然后你可以在arr上做np.mean等。

【讨论】:

  • 谢谢。在循环的每一次通过中,我都有一个新的 arr。而且,我想将一次生成的 arr 添加到下一次生成的 arr 中。
  • @Manlai A -- 我会选择按照 hpaulj 的建议工作。往上看。尽管如此,还是感谢您的宝贵时间。
  • @Nanda 我假设您正在创建一个数组列表。查看我的编辑。
猜你喜欢
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 2015-06-16
  • 2016-10-20
相关资源
最近更新 更多