1. 程式人生 > 其它 >Python之Numpy陣列

Python之Numpy陣列

技術標籤:python基礎pythonnumpy

Python之Numpy陣列

把經常會用到的陣列列在這裡...

1. np.zeros()

a1 = np.zeros(3)
# array([0., 0., 0.])

a2 = np.zeros([2,3])
# array([[0., 0., 0.],
#        [0., 0., 0.]])

a3 = np.zeros((2, 2))
# array([[0., 0.],
#        [0., 0.]])

zeros建立的是全部為0的陣列,zeros()裡面填單個數字:一維陣列,

zeros()裡面填列表[n,m]:n行m列陣列,

zeros()裡面填元組(n,m):n行m列陣列(哦喲,很神奇哦,所以填方括號和圓括號是一樣的咯)

a = np.zeros(3, dtype=int)
type(a[0])
# numpy.int64

zeros()預設生成的資料型別是float64(64位浮點數),如果需要指定資料型別的話,在括號里加一個dtype=int就好(生成的是int64,64位整數)

z = np.zeros(4)
print(z)
# [0. 0. 0. 0.]

z.shape = (2, 2)
print(z)
# [[0. 0.]
#  [0. 0.]]

z.shape = (4, 1)
print(z)
# [[0.]
#  [0.]
#  [0.]
#  [0.]]

shape可以變換zeros()的維度,增加維度

shap跟reshape有什麼不同?==>

shape是檢視資料有多少行多少列(雖然也可以賦值,但是不是本職工作)

reshape()是陣列array中的方法,作用是將資料重新組織

2. np.ones()

a1 = np.ones(3)
print(a1)
# [1. 1. 1.]

a2 = np.ones([2,3])
print(a2)
# [[1. 1. 1.]
#  [1. 1. 1.]]

a3 = np.ones((2, 2))
print(a3)
# [[1. 1.]
#  [1. 1.]]

跟np.zeros()差不多,只是zeros()生成的全是0,ones()生成的全是1(而且它們生成的都是float64)

3. np.empty()

z = np.empty(3)
print(z)
# [1. 1. 1.]

它是在記憶體中建立陣列,之後可以用資料去填充這個陣列==>(但生成出來的是1,跟ones()的結果一樣,難道這個1是佔位符一般的存在?)

4.np.linspace()

z = np.linspace(2, 4, 5)
# [2. , 2.5, 3. , 3.5, 4. ]

linspace(n, m, i)的意思是在n~m之間,生成i個數值(這i個數值不是隨機生成的,平均間隔是相等的哦)