一、正常操作:
import numpy as np
a = np.array([[1, 2],
[3, 4]])
b = np.array([[5, 6],
[6, 5]])
1、加法操作
print(a+b)
print(np.add(a, b))
結果相同為:
[[6 8]
[9 9]]
2、減法操作
print(a-b)
print(np.subtract(a, b))
結果相同為:
[[-4 -4]
[-3 -1]]
3、乘法操作
print(a*b)
print(np.multiply(a, b))
結果相同為:
[[ 5 12]
[18 20]]
4、 除法操作
print(a/b)
print(np.divide(a, b))
結果相同為:
[[0.2 0.33333333]
[0.5 0.8 ]]
5、 開方操作
print(a/b)
print(np.sqrt(a))
結果相同為:
[[1. 1.41421356]
[1.73205081 2. ]]
二、次元不相同時矩陣的乘法操作:
import numpy as np
a = np.array([[1, 2],
[3, 4]])
b = np.array([[1, 2, 3],
[4, 5, 6]])
print(a.dot(b))
print(np.dot(a, b))
結果相同為:
[[ 9 12 15]
[19 26 33]]
三、常用函數
1、sum
a = np.array([[1, 2],
[3, 4]])
print(np.sum(a))
print(np.sum(a, axis=0)) # 列進行求和操作
print(np.sum(a, axis=1)) # 行進行求和操作
結果為:
10
[4 6]
[3 7]
2、mean求平均值
a = np.array([[1, 2],
[3, 4]])
print(np.mean(a))
print(np.mean(a, axis=0))
print(np.mean(a, axis=1))
結果為:
2.5
[2. 3.]
[1.5 3.5]
3、uniform 用來生成指定範圍内的随機數值
a = np.array([[1, 2],
[3, 4]])
print(np.random.uniform(3, 4))
結果為:
3.645597297891273
4、tile用于将一個數組作為元素重複指定的次數
a = np.array([[1, 2],
[3, 4]])
print(np.tile(a, (1, 2))) # a元素一行兩列
print(np.tile(a, (2, 1))) # a元素兩行一列
print(np.tile(a, (2, 3))) # a元素兩行三列
結果為:
[[1 2 1 2]
[3 4 3 4]]
[[1 2]
[3 4]
[1 2]
[3 4]]
[[1 2 1 2 1 2]
[3 4 3 4 3 4]
[1 2 1 2 1 2]
[3 4 3 4 3 4]]
5、 argsort 函數,用于将數組中的元素用于排序
a = np.array([[5, 8, 1, 2],
[3, 8, 9, 4]])
print(a.argsort()) # 輸出的是下标
print(a.argsort(axis=0)) # 按照列進行比較
結果為:
[[2 3 0 1]
[0 3 1 2]]
[[1 0 0 0]
[0 1 1 1]]
6、 矩陣的轉置
a = np.array([[5, 8, 1, 2],
[3, 8, 9, 4]])
print(a.T)
print(np.transpose(a))
結果相同:
[[5 3]
[8 8]
[1 9]
[2 4]]