python編程入門----numpy排序,條件選擇函數

參考http://www.runoob.com/numpy/numpy-sort-search.html 的例子html

1. 排序python

  • np.sort(a, axis, kind, order) #a爲數組,axis是按照行或列取值,kind默認爲'quicksort'(快速排序),還能夠選'mergesort'(歸併排序),'heapsort'(堆排序),order若是數組包含字段,則是要排序的字段(相似於結構體)
  • np.argsort() #函數返回的是數組值從小到大的索引值。
  • np.lexsort() #用於對多個序列進行排序。把它想象成對電子表格進行排序,每一列表明一個序列,排序時優先照顧靠後的列
import numpy as np 
nm =  ('raju','anil','ravi','amar') 
dv =  ('f.y.',  's.y.',  's.y.',  'f.y.') 
ind = np.lexsort((dv,nm))  
print ('調用 lexsort() 函數:') 
print (ind) 
print ('\n') 
print ('使用這個索引來獲取排序後的數據:') 
print ([nm[i]  +  ", "  + dv[i]  for i in ind])
  • np.sort_complex() #對複數排序,先實部而後虛部
  • partition(a, kth[, axis, kind, order]) #指定一個數而後對數組進行分區,arr[np.argpartition(arr, 2)[2]],找出數組中第三大的數**(用法高級,值得研究)**

2. 最值函數數組

  • numpy.argmax() 和 numpy.argmin() #函數分別沿給定軸返回最大和最小元素的索引,當沒有指定軸時,數組展開
  • numpy.nonzero() #函數返回輸入數組中非零元素的索引。
  • numpy.where() #函數返回輸入數組中知足給定條件的元素的索引。np.where(x > 3)
  • numpy.extract() #函數根據某個條件從數組中抽取元素,返回滿條件的元素。
import numpy as np 
 
x = np.arange(9.).reshape(3,  3)  
print ('咱們的數組是:')
print (x)
# 定義條件, 選擇偶數元素
condition = np.mod(x,2)  ==  0  
print ('按元素的條件值:')
print (condition)
print ('使用條件提取元素:')
print (np.extract(condition, x))

咱們的數組是:
[[0. 1. 2.]
 [3. 4. 5.]
 [6. 7. 8.]]
按元素的條件值:
[[ True False  True]
 [False  True False]
 [ True False  True]]
使用條件提取元素:
[0. 2. 4. 6. 8.]
相關文章
相關標籤/搜索