numpy 按照某列对数组进行整体排序

如何根据二维数组中的某一行或者某一列排序?假设data是一个numpy.array类型的二维数组,可以利用numpy中的argsort函数进行实现,代码实例如下:

[python]  view plain  copy
  1. data = data[data[:,2].argsort()] #按照第3列对行排序  

注意:argsort返回的只是排好序后的行索引,不会改变原数组。


按照某行进行排序,可以利用转置操作,代码如下所示:

[python]  view plain  copy
  1. data = data.T(data.T[:,2].argsort()).T # 按照第3行对列进行排序  


也可以直接按行进行排序,代码如下:

[python]  view plain  copy
  1. data = data[:,data[2].argsort()]  

你可能感兴趣的:(Python-daily)