numpy 的排序
1 import numpy as np 2 3 # 1、快速排序 4 ''' 5 1、np.sort(),不改变原先值的顺序,但是在运行时占内存 6 2、ndarry.sort(),改变原先值的顺序,不占用内存 7 ''' 8 # 不改变n1的顺序 9 n1 = np.array([2, 5, 8, 156, 4, 9, 3]) 10 n2 = np.sort(n1) 11 # print(n1, n2) 12 ''' 13 [ 2 5 8 4 9 3 156] [ 2 3 4 5 8 9 156] 14 ''' 15 # 改变n1的顺序 16 n1.sort() 17 # print(n1) 18 ''' 19 [ 2 3 4 5 8 9 156] 20 ''' 21 # 2、部分排序 22 ''' 23 np.partition(a,k)。 24 a:需要排列的值; 25 k:为正时,我们想要得到最小的k个数,为负时,我们想要得到的最大的k个数。但是其余部分不进行排序,但是顺序有可能已经变化 26 ''' 27 n1 = np.array([1, 5, 8, 9, 42, 14, 154, 11454, 124, 1215, 3, 245, 7, 15]) 28 n3 = np.partition(n1, 4) 29 print(n3) 30 ''' 31 [ 1 3 5 7 8 14 9 15 124 1215 11454 245 42 154] 32 33 ''' 34 n4 = np.partition(n1, -2) 35 print(n4) 36 ''' 37 [ 3 1 8 9 7 14 5 15 42 124 154 245 1215 11454] 38 ''' 39 # 在排序的同时可以通过切片的方法,取出自己想要的排好序的数据,比如n5 为n1中最大的两个数,n6为n1中最小的4个数 40 n5 = np.partition(n1,-2)[-2:] 41 print(n5) 42 n6 = np.partition(n1,4)[:4] 43 print(n6)