10-numpy排序搜索

import numpy as np
arr1=np.array([[3,9,0],[1,8,2]])
np.sort(arr1)#按照行排序
np.sort(arr1,axis=0)#按照列排序

dt=np.dtype([("name","S10"),("age",int),("tall",int)])
arr2=np.array([("fengjie",33,160),("chunge",28,150),("congming",37,170)],dtype=dt)
np.sort(arr2,order="name")#按照名字排序
np.sort(arr2,order="age")
np.sort(arr2,order="tall")
np.sort(arr2,kind="heapsort",order="tall")
np.sort(arr2,kind="mergesort",order="tall")

arr3=np.array([2,1,4,3,5])
index=np.argsort(arr3)
print(arr3[index])#索引排序
np.argmax(arr3)#取出索引最大的值
np.argmin(arr3)#取出索引最小的值
np.nonzero(arr3)#不为零的索引
nm=("B","A","D","C")
dv=('1','2','3','4')
ind=np.lexsort((dv,nm))#得到排序以后的索引,一一对应关系不变

arr4=np.array([[30,40,70],[80,20,10],[50,90,60]])
print(np.argmin(arr4,axis=0))#按列找出最大索引
np.where(arr4>55)#找出大于55的索引

cond=np.mod(arr4,2)==0#条件
np.extract(cond,arr4)#挖掘所有条件成立

  

posted @ 2020-03-07 11:27  胡辣汤王子  阅读(180)  评论(0编辑  收藏  举报