numpy學習筆記 三

2021-10-04 22:36:52 字數 3125 閱讀 4244

對於乙個二維矩陣

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...