numpy--------矩阵数组按某行或者某列排序

目录

 

一,按列

二,按行


一,按列

1,按第一列从小到大排序:

import numpy as np
a = [[1,2,3,],[3,2,3],[2,3,1]]
a = np.array(a)
print(a)
print('----')
print(a[np.argsort(a[:,0])])

输出:

numpy--------矩阵数组按某行或者某列排序_第1张图片

 

2.对第一列按从大到小排序:

import numpy as np
a = [[1,2,3,],[3,2,3],[2,3,1]]
a = np.array(a)
print(a)
print('----')
print(a[np.argsort(-a[:,0])])

输出:

numpy--------矩阵数组按某行或者某列排序_第2张图片

3. 对第二列从小到大排序:

import numpy as np
a = [[1,2,3,],[3,2,3],[2,3,1]]
a = np.array(a)
print(a)
print('----')
print(a[np.argsort(a[:,1])])

输出:

numpy--------矩阵数组按某行或者某列排序_第3张图片

 

二,按行

思路:

1,先把矩阵转置,这样本来是行的数据就变成列的数据,列的数据就变成行的数据

2,对转置后的矩阵进行按某列排序

3. 排序后的矩阵在做一次转置,转回来后的矩阵就是原矩阵按某行排序的矩阵了。

1.第一行从小到大排序:

import numpy as np
a = [[1,4,3,],[3,2,3],[2,3,1]]
a = np.array(a)
print(a)
print('----')
print(a.T[np.argsort(a.T[:,0])].T)

输出:

numpy--------矩阵数组按某行或者某列排序_第4张图片

你可能感兴趣的:(#,Numpy包)