欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談numpy數(shù)組的幾種排序方式

 更新時(shí)間:2017年12月15日 10:13:34   作者:sloanqin  
這篇文章主要介紹了淺談numpy數(shù)組的幾種排序方式,涉及對(duì)numpy的簡(jiǎn)單介紹和創(chuàng)建數(shù)組的方式,具有一定借鑒價(jià)值,需要的朋友可以參考下。

簡(jiǎn)單介紹

NumPy系統(tǒng)是Python的一種開源的數(shù)組計(jì)算擴(kuò)展。這種工具可用來存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來表示矩陣(matrix))。

創(chuàng)建數(shù)組

創(chuàng)建1維數(shù)組:

data = np.array([1,3,4,8])  

查看數(shù)組維度

data.shape

查看數(shù)組類型

data.dtype

通過索引獲取或修改數(shù)組元素

data[1] 獲取元素
data[1] = 'a' 修改元素 
 

創(chuàng)建二維數(shù)組

data = np.array([[1,2,3],[4,5,6]]) 兩個(gè)元素均為列表<br>2.data = np.arange(10) 與python的range一樣,range返回列表,arange返回array類型的一個(gè)數(shù)組<br>3.data2 = data.reshape(2,5) 返回一個(gè)2*5的數(shù)組,他不是拷貝數(shù)組是引用,只是返回?cái)?shù)組的不同視圖,data改變data2也會(huì)改變

創(chuàng)建特殊數(shù)組 

data = np.zeros((2,2)) 創(chuàng)建2*2全為0的2維數(shù)組
data = np.ones((2,3,3,)) 創(chuàng)建全為1的三維數(shù)組
data = np.eye(4) 創(chuàng)建4*4的對(duì)角數(shù)組,對(duì)角元素為1,其它都為0

數(shù)組轉(zhuǎn)換

data = np.arange(16).reshape(4,4) 將0-16的移位數(shù)組轉(zhuǎn)換為4*4的數(shù)組  

排序方式

說明:經(jīng)常需要對(duì)數(shù)組或者list進(jìn)行排序,python提供了好幾種排序的函數(shù),下面說明下特點(diǎn);

二維數(shù)組a:

1 4
3 1

1、ndarray.sort(axis=-1,kind='quicksort',order=None)

使用方法:a.sort

參數(shù)說明:

axis:排序沿著數(shù)組的方向,0表示按行,1表示按列

kind:排序的算法,提供了快排、混排、堆排

order:不是指的順序,以后用的時(shí)候再去分析這個(gè)

作用效果:對(duì)數(shù)組a排序,排序后直接改變了a

例如:

>>a.sort(axis=1)
>>print a
1 4
1 3

2、numpy.sort(a,axis=-1,kind='quicksort',order=None)

使用方法:numpy.sort(a)

參數(shù)說明:

a:要排序的數(shù)組,其他同1

作用效果:對(duì)數(shù)組a排序,返回一個(gè)排序后的數(shù)組(與a相同維度),a不變

例如:

>>print numpy.sort(a,axis=1)
1 4
1 3
>>print a
1 4
3 1

3、numpy.argsort(a,axis=-1,kind='quicksort',order=None)

使用方法:numpy.argsort(a)

參數(shù)說明:同2

作用效果:對(duì)數(shù)組a排序,返回一個(gè)排序后索引,a不變

例如:

>>print numpy.argsort(a,axis=1)
0 1
1 0

4、sorted(iterable,cmp=None,key=None,reverse=False)

說明:內(nèi)置的排序函數(shù),對(duì)list,字典等等可以使用

iterable:是可迭代類型;

cmp:用于比較的函數(shù),比較什么由key決定,有默認(rèn)值,迭代集合中的一項(xiàng);

key:用列表元素的某個(gè)屬性和函數(shù)進(jìn)行作為關(guān)鍵字,有默認(rèn)值,迭代集合中的一項(xiàng);

reverse:排序規(guī)則.reverse=True或者reverse=False,默認(rèn)False(從小到大)。

返回值:是一個(gè)經(jīng)過排序的可迭代類型,與iterable一樣;

例如:b是一個(gè)字典

b:

{'a':2,'c':1,'b':3}

對(duì)b進(jìn)行排序:

>>c=sorted(b.iteritems(),key=operator.itemgetter(1),reverse=False)
>>print c[('c', 1), ('a', 2), ('b', 3)]

可見:返回的是一個(gè)list

總結(jié)

以上就是本文關(guān)于淺談numpy數(shù)組的幾種排序方式的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

最新評(píng)論