詳談Numpy中數組重塑、合并與拆分方法

來源:互聯網
上載者:User
下面為大家分享一篇詳談Numpy中數組重塑、合并與拆分方法,具有很好的參考價值,希望對大家有所協助。一起過來看看吧

1.數組重塑

1.1一維數組轉變成二維數組

通過reshape( )函數即可實現,假設data是numpy.array類型的一維數組array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),現將其轉變為2行5列的二維數組,代碼如下:

data.reshape((2,5))

作為參數的形狀的其中一維可以是-1,它表示該維度大小由資料本身推斷而來,因此上面代碼等價於:

data.reshape((2,-1))

1.2二維數群組轉換成一維數組

將多維陣列轉換成一維數組的運算通常稱為扁平化(flattening)或散開(raveling),因此有兩個函數可供選擇。執行代碼如下:

data.ravel() # 不會產生來源資料的副本data.flatten() # 總是返回資料的副本

關於這兩點的區別,理解的不是很透徹。有人懂得話,歡迎評論交流。

2.數組的合并和拆分

2.1數組的合并

numpy提供許多數組合并的方法,這裡只介紹最為常用的一種,即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參數指明合并的軸向,0表示按行,1表示按列

2.2數組的拆分

這裡只介紹split函數

np.split(data, [1], axis=0)#data為拆分的數組,[1]為拆分的行號或列號,axis表明按列或者行進行拆分(預設為0,即按行拆分)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.