資料分析之NumPy(五)陣列間運算

2021-09-12 09:23:23 字數 2217 閱讀 5109

arr = np.array([[

1,2,

3,2,

1,4]

,[5,

6,1,

2,3,

1]])

arr +

1arr *

2arr /

2# 可以對比python列表的運算,看出區別

上面這個能進行運算嗎,結果是不行的!

嘗試如下操作呢?

接下來就需要引入陣列間操作的規則:廣播機制執行 broadcast 的前提在於,兩個 ndarray 執行的是 element-wise的運算,broadcast機制的功能是為了方便不同形狀的ndarray(numpy庫的核心資料結構)進行數**算。

當操作兩個陣列時,numpy會逐個比較它們的shape(構成的元組tuple),只有在下述情況下,兩個陣列才能夠進行陣列與陣列的運算。

image (3d array):  256 x 256 x 3

scale (1d array): 3

result (3d array): 256 x 256 x 3

a (4d array): 9 x 1 x 7 x 1

b (3d array): 8 x 1 x 5

result (4d array): 9 x 8 x 7 x 5

a (2d array): 5 x 4

b (1d array): 1

result (2d array): 5 x 4

a (2d array): 15 x 3 x 5

b (1d array): 15 x 1 x 1

result (2d array): 15 x 3 x 5

如果是下面這樣,則不匹配:

a  (1d array): 10

b (1d array): 12

a (2d array): 2 x 1

b (3d array): 8 x 4 x 3

思考:下面兩個ndarray是否能夠進行運算?

arr1 = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])

arr2 = np.array([[1], [3]])

arr1形狀為:(2,6),arr2形狀為:(2,1)

現在思考如下的學生成績問題:

思考:如何能夠直接得出每個學生的成績?

什麼是矩陣

矩陣,英文matrix,和array的區別矩陣必須是2維的,但是array可以是多維的。

矩陣乘法運算

矩陣乘法的兩個關鍵:

矩陣應用場景

大部分機器學習演算法需要用到

資料分析 numpy陣列 01

預備知識 能夠乙個接乙個地儲存在計算機儲存器的一塊連續區域內的表示方法稱為陣列array。資料分析 numpy numpy是python語言的乙個拓展程式庫,支援大量的維度陣列與矩陣運算,而且numpy針對於陣列運算提供大量的數學函式庫。numpy 是乙個執行速度非常快的數學庫,主要用於陣列計算 1...

python資料分析之Numpy

numpy系統是python的一種開源的數值計算擴充套件 ndarray 多維陣列 所有元素必須是相同型別 ndim屬性,維度個數 shape屬性,各維度大小 dtype屬性,資料型別 coding utf 8 import numpy as np 生成指定維度的隨機多維資料 data np.ran...

資料分析之numpy庫

numpy的是的python語言的乙個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫.numpy內部解除了的python的pil 全域性直譯器鎖 運算效率極好,是大量機器學習框架的基礎庫!numpy的主要物件是同構多維陣列。它是乙個元素表 通常是數字 都是相同的...