所以我有一个二维数组,其中第一列由 -1.0
和 1.0
之间的 float 组成。我想根据第一列对数组进行排序,从最低到最高,如下所示:
data[0,data[0,:].argsort()]
但问题是负值是从最高值到最低值排序的,因此 -0.26
位于 -0.56
之前,而正值则从最低值到最低值排序最高,例如 0.26
在 0.56
之前。
为什么会发生这种情况?我怎样才能得到正确的结果,即负值也按从最低到最大值的顺序列出?
最佳答案
您的数组是字符串数组,因此您需要先将其转换为 float 组:
data = data.astype(float)
data[0,data[0,:].argsort()]
关于python - Argsort 以相反的顺序返回负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35530305/