首頁  >  文章  >  後端開發  >  詳談Numpy中數組重塑、合併與分割方法

詳談Numpy中數組重塑、合併與分割方法

不言
不言原創
2018-04-17 10:52:522322瀏覽

以下為大家分享一篇詳談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,即按行拆分)

相關推薦:#########對numpy中數組元素的統一賦值實例#############淺聊numpy數組的幾種排序方式_python######### #################

以上是詳談Numpy中數組重塑、合併與分割方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn