【问题标题】:Getting 10 nsmallest arrays from a set of arrays从一组数组中获取 10 个最小的数组
【发布时间】:2021-12-12 18:58:46
【问题描述】:

首先,我为这个令人困惑的标题道歉,我试图完成的任务本身仍然让我感到困惑,因此我觉得很难做到。从现在开始,我会尽量讲清楚。

我有 100 个 500x500 数组,其中的值范围从 0 到 1。我想做的是编写一个代码,给我 10 个数组,这些数组将是它们之间最小值的一种组合。

第一个数组由绝对最小值组成,第二个数组由二阶最小值组成……以此类推。所以这 10 个数组将是排序升序值的组合。

我设法通过np.minimum() 获得了绝对最小值,但我不知道如何进行下一个。

重申一下,我不想对这 100 个数组进行排序,而是遍历它们并创建具有在每个位置找到的最低值的新数组。

【问题讨论】:

  • 在这种情况下,最小二阶(和 n 阶)是多少?你的意思是第二小,第三小,等等...?
  • 是的,就是这样,第二小……第三……最后是第十
  • 因此,您有一个较大的 500x500 数组 (N),并且您想要生成一些新数组,其中第一个新数组(也是 500x500)在每个元素中具有从在N 数组中找到的相应位置。第二个新数组 (500x500) 的元素对应于“下一个最低”值 a 在 N 数组中找到的相应位置...等等?
  • 是的!这就是我正在尝试的

标签: arrays python-3.x numpy sorting


【解决方案1】:

排序是最有效的方式。

np.sort([array0,array1,...], 0)

将产生一个数组,其中第一个元素是一个 100x100 数组,包含所有数组中最小的元素条目,第二个是第二小的,等等。

【讨论】:

  • 非常感谢,我觉得有点尴尬,因为这是我尝试的第一个函数,但我把参数搞砸了,所以没有得到我想要的
猜你喜欢
  • 2017-05-02
  • 2016-02-27
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 2014-05-22
  • 2022-09-29
相关资源
最近更新 更多