淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist
array和asarray都可以將結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)化為ndarray,但是主要區(qū)別就是當(dāng)數(shù)據(jù)源是ndarray時(shí),array仍然會(huì)copy出一個(gè)副本,占用新的內(nèi)存,但asarray不會(huì)。
1.輸入為列表時(shí)
a=[[1,2,3],[4,5,6],[7,8,9]] b=np.array(a) c=np.asarray(a) a[2]=1 print(a) print(b) print(c)
從中我們可以看出np.array與np.asarray功能是一樣的,都是將輸入轉(zhuǎn)為矩陣格式。當(dāng)輸入是列表的時(shí)候,更改列表的值并不會(huì)影響轉(zhuǎn)化為矩陣的值。
2.輸入為數(shù)組時(shí)
a=np.random.random((3,3)) print(a.dtype) b=np.array(a,dtype='float64') c=np.asarray(a,dtype='float64') a[2]=2 print(a) print(b) print(c)
從上述結(jié)果我們可以看出np.array與np.asarray的區(qū)別,其在于輸入為數(shù)組時(shí),np.array是將輸入copy過(guò)去而np.asarray是將輸入cut過(guò)去,所以隨著輸入的改變np.array的輸出不變,而np.asarray的輸出在變化,并且當(dāng)我們使用np.asarray改變其類型的時(shí)候(輸入是float64,改為float32),這樣當(dāng)輸入改變的時(shí)候,np.asarray的輸出也不會(huì)改變。
3.array類型轉(zhuǎn)為list類型
a=np.random.random((3,3)) print(a.dtype) b=a.tolist() a[1]=2 print(a) print(b)
從上述我們可以看到.tolist是將數(shù)組轉(zhuǎn)為list的格式,等同于np.array的反向,那什么情況下需要將np.ndarray轉(zhuǎn)為list的格式呢?當(dāng)需要序列化的時(shí)候(serialization),由于np.ndarray是不可序列化的。
補(bǔ)充知識(shí):opencv 將int類型數(shù)字轉(zhuǎn)換為固定長(zhǎng)度的字符串cv::format
int currentFrame = 2; stringstream frame_name; frame_name << cv::format("%.3d",currentFrame) << ".jpg";
或者:
String save_frame_path;
save_frame_path = cv::format("%.3d", frame_num) + ".jpg";
以上這篇淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Pytorch中torch.argmax()函數(shù)使用及說(shuō)明
這篇文章主要介紹了Pytorch中torch.argmax()函數(shù)使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01python面向?qū)ο髮?shí)現(xiàn)名片管理系統(tǒng)文件版
這篇文章主要為大家詳細(xì)介紹了python面向?qū)ο髮?shí)現(xiàn)名片管理系統(tǒng)文件版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04Python實(shí)現(xiàn)按照指定要求逆序輸出一個(gè)數(shù)字的方法
這篇文章主要介紹了Python實(shí)現(xiàn)按照指定要求逆序輸出一個(gè)數(shù)字的方法,涉及Python針對(duì)字符串的遍歷、判斷、輸出等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04150行Python代碼實(shí)現(xiàn)帶界面的數(shù)獨(dú)游戲
這篇文章主要介紹了150行Python代碼實(shí)現(xiàn)帶界面的數(shù)獨(dú)游戲,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04對(duì)python:threading.Thread類的使用方法詳解
今天小編就為大家分享一篇對(duì)python:threading.Thread類的使用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Python 利用郵件系統(tǒng)完成遠(yuǎn)程控制電腦的實(shí)現(xiàn)(關(guān)機(jī)、重啟等)
這篇文章主要介紹了Python 利用郵件系統(tǒng)完成遠(yuǎn)程控制電腦(關(guān)機(jī)、重啟等),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11使用selenium模擬動(dòng)態(tài)登錄百度頁(yè)面的實(shí)現(xiàn)
本文主要介紹了使用selenium模擬動(dòng)態(tài)登錄百度頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05