詳談Numpy中數(shù)組重塑、合并與拆分方法
1.數(shù)組重塑
1.1一維數(shù)組轉(zhuǎn)變成二維數(shù)組
通過reshape( )函數(shù)即可實(shí)現(xiàn),假設(shè)data是numpy.array類型的一維數(shù)組array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),現(xiàn)將其轉(zhuǎn)變?yōu)?行5列的二維數(shù)組,代碼如下:
data.reshape((2,5))
作為參數(shù)的形狀的其中一維可以是-1,它表示該維度的大小由數(shù)據(jù)本身推斷而來,因此上面代碼等價于:
data.reshape((2,-1))
1.2二維數(shù)組轉(zhuǎn)換成一維數(shù)組
將多維數(shù)組轉(zhuǎn)換成一維數(shù)組的運(yùn)算通常稱為扁平化(flattening)或散開(raveling),因此有兩個函數(shù)可供選擇。執(zhí)行代碼如下:
data.ravel() # 不會產(chǎn)生源數(shù)據(jù)的副本 data.flatten() # 總是返回數(shù)據(jù)的副本
關(guān)于這兩點(diǎn)的區(qū)別,理解的不是很透徹。有人懂得話,歡迎評論交流。
2.數(shù)組的合并和拆分
2.1數(shù)組的合并
numpy提供許多數(shù)組合并的方法,這里只介紹最為常用的一種,即concatenate方法,代碼如下:
arr1 = np.array([[1,2,3], [4,5,6]]) arr2 = np.array([[7,8,9], [10,11,12]]) data = np.concatenate([arr1, arr2], axis=0) # axis參數(shù)指明合并的軸向,0表示按行,1表示按列
2.2數(shù)組的拆分
這里只介紹split函數(shù)
np.split(data, [1], axis=0)#data為拆分的數(shù)組,[1]為拆分的行號或列號,axis表明按列或者行進(jìn)行拆分(默認(rèn)為0,即按行拆分)
以上這篇詳談Numpy中數(shù)組重塑、合并與拆分方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python詳解如何通過sshtunnel pymssql實(shí)現(xiàn)遠(yuǎn)程連接數(shù)據(jù)庫
為了安全起見,很多公司服務(wù)器數(shù)據(jù)庫的訪問多半是要做限制的,由專門的DBA管理,而且都是做的集群,數(shù)據(jù)庫只能內(nèi)網(wǎng)訪問,所以就有一個直接的問題是,往往多數(shù)時候,在別的機(jī)器上(比如自己本地),是不能訪問數(shù)據(jù)庫的,給日常開發(fā)調(diào)試造成了很大不便2021-10-10Python 網(wǎng)絡(luò)編程起步(Socket發(fā)送消息)
現(xiàn)在開始學(xué)習(xí)網(wǎng)絡(luò)編程,先從簡單的UDP協(xié)議發(fā)送消息開始。我們需要有接受消息的服務(wù)端程序(Server.py)和發(fā)送消息的客戶端程序(Client)。2008-09-09Django def clean()函數(shù)對表單中的數(shù)據(jù)進(jìn)行驗(yàn)證操作
這篇文章主要介紹了Django def clean()函數(shù)對表單中的數(shù)據(jù)進(jìn)行驗(yàn)證操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07Python 實(shí)現(xiàn)還原已撤回的微信消息
這篇文章主要介紹了Python 神操作,還原已撤回的微信消息功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06Python+OpenCV之形態(tài)學(xué)操作詳解
這篇文章主要為大家詳細(xì)介紹了Python?OpenCV中的形態(tài)學(xué)操作(開運(yùn)算、閉運(yùn)算)的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-09-09Python算術(shù)運(yùn)算符實(shí)例詳解
這篇文章主要介紹了Python算術(shù)運(yùn)算符實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05python中threading.Semaphore和threading.Lock的具體使用
python中的多線程是一個非常重要的知識點(diǎn),本文主要介紹了python中threading.Semaphore和threading.Lock的具體使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-08-08