numpy基礎— 建立陣列
阿新 • • 發佈:2021-01-26
建立陣列的方法
import numpy as np
a = np.array(range(10))
b = np.array([1,2,3,5])
c = np.arange(1,6)
print(a)
print(b)
print(c)
print(a.dtype) #求資料型別
[0 1 2 3 4 5 6 7 8 9]
[1 2 3 5]
[1 2 3 4 5]
int32
以上三種方法結果是一樣的,注意一下輸入結果是陣列。
array的屬性:
• shape:返回一個元組,表示 array的維度 [形狀,幾行幾列] (2,3)兩行三列,(2,2,3)兩個兩行三列
• size:返回一個數字,表示array中所有資料元素的數目
• dtype:返回array中元素的資料型別
import numpy as np
a = np.array(range(10)).reshape(2,5)
print(a)
print(a.shape)
[[0 1 2 3 4]
[5 6 7 8 9]]
(2, 5) #兩行五列
arange 建立數字序列
使用arange建立數字序列:
np.arange([開始,]結束[,步長],dtype=None)
dtype= ’ ’ 可以更改陣列的資料型別
import numpy as np
a = np.arange(5)
b = np.arange(1,10,2)
print(a)
print(b)
[0 1 2 3 4]
[1 3 5 7 9]
使用ones建立全是1的陣列
語法:np.ones(shape,dtype=None,order=‘C’)
import numpy as np
a = np.ones(3)
b = np.ones((2,3))
print(a)
print('-'*30)
print(b)
[1. 1. 1.]
------------------------------
[[1. 1. 1.]
[1. 1. 1.]]
ones_like建立形狀相同的陣列
語法:np.ones_like(a,dtype=float,order=‘C’,subok=True)
與a相同形狀和資料型別的陣列,並且陣列中的值都為1
import numpy as np
a = np.array([[1,2,3],[4,8,9]])
b = np.ones_like(a)
print(b)
[[1 1 1]
[1 1 1]]
zeros 建立全是0的陣列
import numpy as np
a = np.zeros([3,4])
print(a)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
zeros_like建立形狀相同的陣列
import numpy as np
a = np.array([[1,2,3],[4,8,9]])
b = np.zeros_like(a)
print(b)
[[0 0 0]
[0 0 0]]
full建立指定值的陣列
import numpy as np
a = np.full(3,99)
b = np.full((3,2),99)
print(a)
print(b)
[99 99 99]
[[99 99]
[99 99]
[99 99]]
full_like建立開關相同的指定值陣列
import numpy as np
a = np.array([[1,2,3],[4,8,9]])
b = np.full_like(a,99)
print(b)
[[99 99 99]
[99 99 99]]
使用random模組生成隨機陣列
語法:np.random.randn(d0,d1,……,dn)
傳1個數就是一維,2個數就是二維,n個數就是n維
例如:
a = np.random.randn() # 一個隨機數
b = np.random.randn(3) # 3個數
c = np.random.randn(3,2) # 3行2列
d = np.random.randn(3,2,4) # 3塊,每塊是2行4列
需要四捨五入:
np.round(a,2) # 變數a,保留兩位小數點
import numpy as np
a = np.random.randn(3,2)
b = np.round(a,2)
print(b)
[[-0. 0.66]
[ 1.46 0.38]
[-2. 0.66]]