淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist
array和asarray都可以將結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)化為ndarray,但是主要區(qū)別就是當(dāng)數(shù)據(jù)源是ndarray時,array仍然會copy出一個副本,占用新的內(nèi)存,但asarray不會。
1.輸入為列表時
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)輸入是列表的時候,更改列表的值并不會影響轉(zhuǎn)化為矩陣的值。
2.輸入為數(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ù)組時,np.array是將輸入copy過去而np.asarray是將輸入cut過去,所以隨著輸入的改變np.array的輸出不變,而np.asarray的輸出在變化,并且當(dāng)我們使用np.asarray改變其類型的時候(輸入是float64,改為float32),這樣當(dāng)輸入改變的時候,np.asarray的輸出也不會改變。
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)需要序列化的時候(serialization),由于np.ndarray是不可序列化的。
補充知識:opencv 將int類型數(shù)字轉(zhuǎn)換為固定長度的字符串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就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 中pandas索引切片讀取數(shù)據(jù)缺失數(shù)據(jù)處理問題
pandas是一個Python軟件包,提供快速,靈活和富于表現(xiàn)力的數(shù)據(jù)結(jié)構(gòu),旨在使使用“關(guān)系”或“標(biāo)記”數(shù)據(jù)既簡單又直觀。這篇文章主要介紹了pandas索引切片讀取數(shù)據(jù)缺失數(shù)據(jù)處理,需要的朋友可以參考下2019-10-10python GUI庫圖形界面開發(fā)之PyQt5信號與槽的高級使用技巧(自定義信號與槽)詳解與實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5信號與槽的高級知識(自定義信號與槽)詳解與實例,需要的朋友可以參考下2020-03-03pytorch 實現(xiàn)多個Dataloader同時訓(xùn)練
這篇文章主要介紹了pytorch 實現(xiàn)多個Dataloader同時訓(xùn)練的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05Python使用captcha庫制作帶參數(shù)輸入驗證碼案例
這篇文章主要介紹了Python使用captcha庫制作驗證碼,帶參數(shù)輸入,本文通過實例案例解析給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05Python實現(xiàn)暴力破解有密碼的zip文件的方法
這篇文章主要介紹了Python實現(xiàn)暴力破解有密碼的zip文件的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Python調(diào)用ffmpeg截取視頻片段并進(jìn)行批量處理的方法
在多媒體處理領(lǐng)域,尤其是視頻和音頻處理,Python社區(qū)一直缺乏一個強(qiáng)大且易用的庫,幸運的是,ffmpeg-python庫的出現(xiàn)填補了這一空白,它是一個Python綁定,使得Python開發(fā)者能夠輕松地處理視頻和音頻文件,本文介紹了如何使用Python調(diào)用ffmpeg截取視頻片段并進(jìn)行批量處理方法2025-04-04