numpy 的排序

 1 import numpy as np
 2 
 3 # 一、快速排序
 4 '''
 5 一、np.sort(),不改變原先值的順序,可是在運行時佔內存
 6 二、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 # 二、部分排序
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)
相關文章
相關標籤/搜索