使用1.增加numpy array的維度np.expand_dims()
為陣列增加指定的軸,np.squeeze()
將陣列中的軸進行壓縮減小維度。
在運算元組情況下,需要按照某個軸將不同陣列的維度對齊,這時候需要為陣列新增維度(特別是將二維陣列變成高維張量的情況下)。numpy提供了expand_dims()
函式來為陣列增加維度:
import numpy as np
a = np.array([[
1,2]
,[3,
4]])
a.shape
print
(a)>>
>
"""(2l, 2l)
[[1 2]
[3 4]]
"""# 如果需要在陣列上增加維度,輸入需要增添維度的軸即可,注意index從零還是
a_add_dimension = np.expand_dims(a,axis=0)
a_add_dimension.shape
>>
>
(1l, 2l, 2l)
a_add_dimension2 = np.expand_dims(a,axis=-1
)a_add_dimension2.shape
>>
>
(2l, 2l, 1l)
a_add_dimension3 = np.expand_dims(a,axis=1)
a_add_dimension3.shape
>>
>
(2l, 1l, 2l)
2.壓縮維度移除軸
在陣列中會存在很多軸只有1維的情況,可以使用squeeze
函式來壓縮冗餘維度
b = np.array([[
[[5]
,[6]
],[[
7],[
8]]]
])b.shape
print
(b)>>
>
"""(1l, 2l, 2l, 1l)
array([[[[5],
[6]],
[[7],
[8]]]])
"""b_squeeze = b.squeeze(
)b_squeeze.shape
>>
>
(2l, 2l)
#預設壓縮所有為1的維度
b_squeeze0 = b.squeeze(axis=0)
#呼叫array例項的方法
b_squeeze0.shape
>>
>
(2l, 2l, 1l)
b_squeeze3 = np.squeeze(b, axis=3)
#呼叫numpy的方法
Python NumPy一維陣列的切片
numpy中對於一維陣列的切片處理,跟list的操作感覺差不多 in 1 import numpy as np in 2 arr1 np.arange 10 in 3 arr1 out 3 array 0,1,2,3,4,5,6,7,8,9 in 4 arr2 arr1 3 in 5 arr2 ou...
Python Numpy二維陣列和Numpy中的軸
二維陣列的表示方法 python原生 列表的列表 numpy ndarray pandas dataframe 二維ndarray與python list 1.ndarry效能更好 3.訪問語法差別 a 1,2 numpy ndarray a 1 2 python list numpy的軸 axis...
python numpy 陣列的切片
參考 對於一維陣列 來說,python原生的list和numpy的array的切片操作都是相同的。arr name start end step 是複製源的意思 對於二維陣列來說,對陣列操作規範是這樣的 arr name 行操作,列操作 舉個例子 in np.arrange 12 reshape 3...