淺談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)文章
Python 中pandas索引切片讀取數(shù)據(jù)缺失數(shù)據(jù)處理問(wèn)題
pandas是一個(gè)Python軟件包,提供快速,靈活和富于表現(xiàn)力的數(shù)據(jù)結(jié)構(gòu),旨在使使用“關(guān)系”或“標(biāo)記”數(shù)據(jù)既簡(jiǎn)單又直觀。這篇文章主要介紹了pandas索引切片讀取數(shù)據(jù)缺失數(shù)據(jù)處理,需要的朋友可以參考下2019-10-10
python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5信號(hào)與槽的高級(jí)使用技巧(自定義信號(hào)與槽)詳解與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5信號(hào)與槽的高級(jí)知識(shí)(自定義信號(hào)與槽)詳解與實(shí)例,需要的朋友可以參考下2020-03-03
pytorch 實(shí)現(xiàn)多個(gè)Dataloader同時(shí)訓(xùn)練
這篇文章主要介紹了pytorch 實(shí)現(xiàn)多個(gè)Dataloader同時(shí)訓(xùn)練的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python使用captcha庫(kù)制作帶參數(shù)輸入驗(yàn)證碼案例
這篇文章主要介紹了Python使用captcha庫(kù)制作驗(yàn)證碼,帶參數(shù)輸入,本文通過(guò)實(shí)例案例解析給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
Python實(shí)現(xiàn)暴力破解有密碼的zip文件的方法
這篇文章主要介紹了Python實(shí)現(xiàn)暴力破解有密碼的zip文件的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Python調(diào)用ffmpeg截取視頻片段并進(jìn)行批量處理的方法
在多媒體處理領(lǐng)域,尤其是視頻和音頻處理,Python社區(qū)一直缺乏一個(gè)強(qiáng)大且易用的庫(kù),幸運(yùn)的是,ffmpeg-python庫(kù)的出現(xiàn)填補(bǔ)了這一空白,它是一個(gè)Python綁定,使得Python開(kāi)發(fā)者能夠輕松地處理視頻和音頻文件,本文介紹了如何使用Python調(diào)用ffmpeg截取視頻片段并進(jìn)行批量處理方法2025-04-04

