【问题标题】:Python sort 2D Array by using np.argosrt list entrysPython 使用 np.argsort 列表条目对 2D 数组进行排序
【发布时间】:2016-01-27 16:32:01
【问题描述】:

我通过 np.reshape(x or y,(40,30)) 重塑了给定的 x,y 数据。接下来我需要按升序对 y 值进行排序,所以我使用了:

y_sort=np.argsort(y,axis=-1)
print y_sort
[[1 10 6 84 20 ..
          5 240 63 88...]]

接下来我想尝试使用这个索引列表对我的“新”y-2D 数组进行排序

y_new=y[y_sort]

现在我为 y_new 得到了一个 40,30,30 的元组

我只想根据给定的索引 y_sort 对原始二维数组的 y 值进行排序,得到大小为 40,30 的二维数组

我在这里做错了什么?

感谢您的帮助

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    问题是numpyarg* 函数不应该用作index。他们只在numpy.argwhere 中提到了这一点,但我测试了其中的几个,所有测试过的arg* 函数都会触发高级索引(参见Numpy Documentation)。

    可能numpy.sort 是适合排序的函数。

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 2022-09-23
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多