淺談numpy數(shù)組的幾種排序方式
簡(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ì)本站的支持!
- Python中的Numpy入門教程
- 關(guān)于Numpy數(shù)據(jù)類型對(duì)象(dtype)使用詳解
- 在NumPy中創(chuàng)建空數(shù)組/矩陣的方法
- python中numpy.zeros(np.zeros)的使用方法
- Python使用numpy產(chǎn)生正態(tài)分布隨機(jī)數(shù)的向量或矩陣操作示例
- Python numpy 提取矩陣的某一行或某一列的實(shí)例
- 詳解Numpy數(shù)組轉(zhuǎn)置的三種方法T、transpose、swapaxes
- Numpy數(shù)據(jù)類型轉(zhuǎn)換astype,dtype的方法
- numpy中的delete刪除數(shù)組整行和整列的實(shí)例
- 簡(jiǎn)單快捷:NumPy入門教程的環(huán)境設(shè)置
相關(guān)文章
python爬取晉江文學(xué)城小說評(píng)論(情緒分析)
這篇文章主要介紹了使用python爬取晉江文學(xué)城小說評(píng)論(情緒分析),全文代碼詳細(xì),邏輯清晰,很適合學(xué)習(xí)爬蟲爬取的朋友,需要的朋友可以參考下2021-04-04python防止隨意修改類屬性的實(shí)現(xiàn)方法
這篇文章主要介紹了python防止隨意修改類屬性的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08如何使用?Python為你的在線會(huì)議創(chuàng)建一個(gè)假的攝像頭
這篇文章主要介紹了使用?Python為你的在線會(huì)議創(chuàng)建一個(gè)假的攝像頭,在?Python?的幫助下,不再強(qiáng)制開啟攝像頭,將向你展示如何為你的在線會(huì)議創(chuàng)建一個(gè)假的攝像頭,需要的朋友可以參考下2022-08-08Python模擬登陸淘寶并統(tǒng)計(jì)淘寶消費(fèi)情況的代碼實(shí)例分享
借助urllib、urllib2和BeautifulSoup等幾個(gè)模塊的常用爬蟲開發(fā)組合,我們能夠輕易實(shí)現(xiàn)一份淘寶對(duì)賬單,這里我們就來看一則Python模擬登陸淘寶并統(tǒng)計(jì)淘寶消費(fèi)情況的代碼實(shí)例分享:2016-07-07如何用Python進(jìn)行時(shí)間序列分解和預(yù)測(cè)
這篇文章主要介紹了如何用Python進(jìn)行時(shí)間序列分解和預(yù)測(cè),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-02-02python else語句在循環(huán)中的運(yùn)用詳解
這篇文章主要介紹了python else語句在循環(huán)中的運(yùn)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python itchat實(shí)現(xiàn)微信自動(dòng)回復(fù)的示例代碼
本篇文章主要介紹了python itchat實(shí)現(xiàn)微信自動(dòng)回復(fù)的示例代碼,可以實(shí)現(xiàn)微信自動(dòng)回復(fù),有興趣的可以了解一下2017-08-08