對於乙個二維矩陣
a = array([[
1,2,
3,4]
,[5,
6,7,
8],[
9,10,
11,12]
])#如果使用以為的索引會出現這樣的結果 a[1
]out[4]
: array([5
,6,7
,8])
#如果我們想單獨跳出乙個數字,則需要講哪一行哪一列表示出來a[1
][2]
#或者a[1,2]
out[5]
:7#需要索引哪一列的數字時我們使用a[:
,0]out[7]
: array([1
,5,9
])#索引某一段的數字a[0
:2,0
]out[10]
: array([1
,5])
#索引第一列第1第2個數字
我們可以通過for迴圈將陣列編歷出來
for cow in a:
print(cow)
通過迭代將每乙個專案迭代出來
for item in a.flat:
#將矩陣通過.flat來轉變為乙個只有一行的序列
print
(item)
矩陣上下合併:
a = array([0
,1,2
,3,4
])b = array([5
,6,7
,8,9
])np.vstack(
(a,b)
)#vertical stack 垂直堆疊 a在上b在下
out:
array([[
0,1,
2,3,
4],[
5,6,
7,8,
9]])
矩陣左右合併:
np.hstack(
(a,b)
)array([0
,1,2
,3,4
,5,6
,7,8
,9])
改變矩陣的形狀,橫向變豎向:
#普通的橫向數列
a = array([0
,1,2
,3,4
])#增加橫向維度
a[np.newaxis,:]
out[9]
: array([[
0,1,
2,3,
4]])
#增加列向維度
a = a[
:,np.newaxis]
out[10]
: array([[
0],[
1],[
2],[
3],[
4]])
#將多維陣列轉換成一整行
a.flatten(
)
使數列變為縱向並合併:
a = a[
:,np.newaxis]
b = b[
:,np.newaxis]
c = np.hstack(
(a,b))c
out[22]
: array([[
0,5]
,[1,
6],[
2,7]
,[3,
8],[
4,9]
])
簡單的等分分割
#定義乙個3行4列的陣列
a = array([[
1,2,
3,4]
,[5,
6,7,
8],[
9,10,
11,12]
])#縱向分割
np.split(a,
2,axis =1)
#縱向分割分成兩個
[array([[
1,2]
,[5,
6],[
9,10]
]), array([[
3,4]
,[7,
8],[
11,12]
])]np.hsplit(a,2)
#這樣也可以實現縱向分割
#橫向分割成三塊
np.split(a,
3,axis=0)
out:
[array([[
1,2,
3,4]
]), array([[
5,6,
7,8]
]), array([[
9,10,
11,12]
])]np.vsplit(a,2)
#與hsplit同理,不過是橫向
但是這種分割方法不能滿足不等的分割
#我們可以通過np.array_split函式來實現不等分的分割
np.array_split(a,
2,axis=1)
out[10]
:[array([[
1,2]
,[5,
6],[
9,10]
]), array([[
3,4]
,[7,
8],[
11,12]
])]#通過這樣的分割,第一塊被分割的區域會比後面的偏大
array之間的賦值
#普通的array之間的賦值
#a = b
#b = d
#那麼這三個array都會相等
#我們可以通過b = a.copy()來使a 與b 的值不同步 deep copy
a= array([1
,2,3
])b = a
b = array([1
,2,3
])b = a.copy()a[
1]=4
b = array([1
,4,3
])b = array([1
,2,3
])
Numpy學習筆記
測試檔案裡的資料排列型別最好是有規律的,不可以隨便,否則將發生一些錯誤 genfromtxt函式 genfromtxt函式建立陣列 資料 genfromtxt主要執行兩個迴圈運算。第乙個迴圈將檔案的每一行轉換成字串序列。第二個迴圈將每個字串序列轉換為相應的資料型別。genfromtxt能夠考慮缺失的...
numpy學習筆記
1 array.ndim 用來輸出陣列的維度 2 array.shape 用來輸出陣列的形狀 3 arry.size 用來輸出陣列的大小見jupyter notebook的numpy function list 生成函式基本運算 直接用陣列的相加減乘除。也就是相對應的元素間的作用。關係運算 陣列元素...
NumPy學習筆記
example np.version np.array 1,2,3 4,5,6 np.zeros 3 3 np.ones 2 3,4 np.eye 3 np.range 5 0,1,2,3,4 np.random.rand 2,3 np.random.randint 5,size 2 3 value...