在numpy中,有一個(gè)方法array(),指的是用來建立一個(gè)數(shù)組。numpy數(shù)組類是ndarray。
其中,Numpy數(shù)組的賦值是比較方便的,但是也有一些需要注意的地方。
一般賦值:
1.下面的賦值方式和C++和Java語言類似
import numpy as np
a = np.zeros((2,5))
a[1][2] = 1
a[0][4] = 10
print(a)
其輸出結(jié)果:
[[ 0. 0. 0. 0. 10.]
[ 0. 0. 1. 0. 0.]]
2.下面的賦值方式實(shí)現(xiàn)的功能和上面一樣,但是方式是C++和Java所沒有的:
import numpy as np
a = np.zeros((2,5))
a[1,2] = 1
a[0,4] = 10
print(a)
需要注意的賦值方式:
這個(gè)賦值中,里面可以有列表(用list類型就行),也可以用元組類型。
(一)
import numpy as np
a = np.zeros((4,10))
a[[0,1,3],2] = 1
print(a)
指的是在第0行,第1行和第三行中的第2列(下標(biāo)從0開始)賦值為1
輸出結(jié)果:
[[0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]]
(二)
import numpy as np
a = np.zeros((4,10))
a[1,[2,3,4,5,6,7,8]] = 100
print(a)
指的是在第1行的第2到8列數(shù)賦值為100
輸出結(jié)果:
[[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 100. 100. 100. 100. 100. 100. 100. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
(三)
也可以用列表的切片:
import numpy as np
a = np.zeros((4,10))
a[1:3,2:8] = 20
print(a)
注意,別加方括號(hào) ↑。
輸出結(jié)果:
[[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 20. 20. 20. 20. 20. 20. 0. 0.]
[ 0. 0. 20. 20. 20. 20. 20. 20. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]