numpy模組的一些功能。

2021-08-28 00:11:11 字數 3023 閱讀 4677

x  = np.array([[[1,2,3],[4,5,6]]])這裡或者直接寫成(1,2,3)

w = x.shape

(1,2,3)

建立乙個三維陣列,由1個,2行,3列的二維陣列,組成.

幾個 就是幾維。

b = np.expand_dims(a, axis=0)
擴充套件陣列形狀:維度

變換為(1,1,2,3) 

含義為在1,2,3三個數產生的四個間隔中零的位置,即1之前新增1

同理axis = 2

變換為(1,2,1,3)

注意:axis的值不能大於(1,2,3)產生的間隔數,(1,2,3)只有四個間隔,所以axis<4

當axis大於最大間隔的時候會按照最大間隔插入.

a = np.arange(36)#陣列元素

b = a.reshape(6,6)#改變陣列形狀

'''[[ 0 1 2 3 4 5]

[ 6 7 8 9 10 11]

[12 13 14 15 16 17]

[18 19 20 21 22 23]

[24 25 26 27 28 29]

[30 31 32 33 34 35]]'''

#print(b[4])

w = np.array([[6,7],[8,9],[10,11]])

#print(b[:,3])#取得第三列

#print(b[:3])#從0到第三行

b[b>23]=0

print(b[0:2])

print(b[0:2,2:4])#逗號前行,後面式列數

print(b[:,:3])

print('*----------------------------*')

print(b[:,none])#none不進行切片,把整體作為陣列元素處理

print(b[:,:,none])#none把取到的值按照列的形式返回

np.concatenate((a, b), axis=0)#拼接陣列

a = np.ones((3,2,4))

#3個2行4列的二維陣列,組成的三維陣列

print(a)

b = np.zeros((3,2,4))

c = np.ones((3,2,4))

d = np.concatenate([a,b,c],2)

print(d)

print(d.shape)

out:::::::

a:[[[1. 1. 1. 1.]

[1. 1. 1. 1.]]

[[1. 1. 1. 1.]

[1. 1. 1. 1.]]

[[1. 1. 1. 1.]

[1. 1. 1. 1.]]]

d:[[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]

[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]

[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]

[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]

[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]

[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]]

(3, 2, 12)

可以看出當, 2的時候對陣列縱向拼接只改變了三維陣列中二維陣列的行數,3*4=12,其他幾個值行數在a,b,c]中對應的位置正好是2,所以寫成-1作用一樣,0是對陣列的個數進行拼接,1改變行數,不能改變維度

a = np.linspace(1,2)

print(a)

輸出:[1. 1.02040816 1.04081633 1.06122449 1.08163265 1.10204082

1.12244898 1.14285714 1.16326531 1.18367347 1.20408163 1.2244898

1.24489796 1.26530612 1.28571429 1.30612245 1.32653061 1.34693878

1.36734694 1.3877551 1.40816327 1.42857143 1.44897959 1.46938776

可以看出是建立等差數列,預設,生成50個,其實是有三個引數前兩個是開始s和結尾e,第三個是確定元素的個數n,因為間隔數比原始的少一所以,差值是(e-s)/n-1

a = np.arange(3)

b = a[:,np.newaxis]

print(a)

print(b)

[0 1 2]

[[0]

[1][2]]

變成二維的陣列

傳送

a = np.arange(3)

print(a)

c = np.square(a)

print(c)

輸出:[0 1 2]

[0 1 4]

np.argmax(y, axis=2)

#y是**值,axis = 2行方向做比較

#所以在多分類的問題上y=

(256, 256, 5)

[[[0.14155747 0.7304455 0.06444897 0.01956713 0.04398087]

[0.10523805 0.7234794 0.07442227 0.01961073 0.07724958]

[0.13790286 0.67515504 0.08597735 0.03152192 0.06944282]

...#這樣在行方向上比較第一行最大值索引1,以此類推,因為有256個256行

#5列的矩陣所以這種方式出來最後的結果是256*256(每乙個矩陣是256*1)

#因為五列所以索引值為4,一共出來5種分類結果。一種是背景,輸出標籤。

具體可以看原作者的。)

numpy的一些用法

安裝numpy windows安裝pip即可,具體方法參考pip官網 安裝方法 pip install numpy 1.14.3 cp27 none win amd64.whl 功能介紹 ndarray ndarray具有多維性。ndarray的元素可以通過索引的方式進行訪問。在numpy中,nda...

numpy的一些基礎用法

import numpy as np x np.array 1 print x,x.ndim,x.shape x np.zeros 2,3,4 dtype np.int8 print x x np.ones 2,3 dtype np.int8 print x x np.arange 6 print ...

Numpy的一些學習記錄

import numpy as np arr1 np.array 1,2,3 print arr1 arr2 np.zeros 3 print arr2 arr3 np.ones 3 print arr3 arr4 np.random.randint 1,10,3 print arr4 arr5 n...