Numpy基本使用方法
numpy簡介
numpy、scipy和matplotlib組合使用代替matlab。numpy主要用於科學計算。
n維數組ndarray
1.ndarray.ndim 定義維度的數量
2.ndarray.shape 數組的維度
3.ndarray.size 數組元素的總個數
4.ndarray.dtype 元素類型
5.ndarray.data 包含實際數組元素的緩衝
創建
a = np.arange(15).reshape(3,5)
print(a)
>>>[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
a = np.array([2,23,4],dtype=np.int)
print(a)
>>>[ 2 23 4]
a = np.zeros((3,4))
print(a)
>>>[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
a = np.ones((3,4),dtype = np.int)
print(a)
>>>[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
a = np.empty((3,4))
print(a)
>>> [[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
a = np.arange(10,20,2)
print(a)
>>>[10 12 14 16 18]
a = np.array([[0,1,2],[3,4,5],[6,7,8]])
print(a)
>>> [[0 1 2]
[3 4 5]
[6 7 8]]
計算
a = np.array([10,20,30,40])
b = np.array([0,1,2,3])
c = a - b
print(c)
[10 19 28 37]
d = a + b
print(d)
[10 21 32 43]
e = a * b
print(e)
[ 0 20 60 120]
f = a ** 2
print(f)
[ 100 400 900 1600]
函數
c = 10 * np.sin(a)
print(c)
[-5.44021111 9.12945251 -9.88031624 7.4511316 ]
# 邏輯判斷
print(b<3)
[ True True True False]
# 矩陣乘法
c = a.dot(b)
print(c)
200
數組統計
# 數組求和,最大值,最小值
a = np.random.random((2,4))
print(a)
[[0.11138439 0.66663092 0.03111582 0.19987269]
[0.19735493 0.47426296 0.33758108 0.85011231]]
print(np.sum(a))
2.8683150918919527
print(np.max(a))
0.8501123052951051
print(np.min(a))
0.03111582134994273
數組分割
A = np.arange(12).reshape((3,4))
# 三個參數: 目的數組,分割份數,分割方向
# axis = 0 縱向分割;axis = 1 橫向分割
print(np.split(A,2,axis=1))
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]