天天看點

Numpy_數學運算及常用函數

一、正常操作:

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]]
           

繼續閱讀