NumPy廣播機(jī)制怎么應(yīng)用

小億
83
2024-05-13 11:23:18

NumPy的廣播機(jī)制可以讓不同維度的數(shù)組進(jìn)行運(yùn)算,而不需要手動(dòng)擴(kuò)展數(shù)組的維度。廣播機(jī)制的規(guī)則如下:

  1. 如果兩個(gè)數(shù)組的維度不同,將維度較小的數(shù)組進(jìn)行擴(kuò)展,直到兩個(gè)數(shù)組的維度相同。
  2. 如果兩個(gè)數(shù)組的維度相同,但某些維度的長(zhǎng)度不同,可以通過在長(zhǎng)度較小的維度上添加一個(gè)長(zhǎng)度為1的維度來(lái)進(jìn)行擴(kuò)展。
  3. 如果兩個(gè)數(shù)組的維度相同,并且各維度的長(zhǎng)度都一樣,那么這兩個(gè)數(shù)組可以進(jìn)行元素級(jí)運(yùn)算。

下面是一個(gè)簡(jiǎn)單的例子,展示了如何使用廣播機(jī)制進(jìn)行數(shù)組的運(yùn)算:

import numpy as np

# 創(chuàng)建兩個(gè)數(shù)組
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 使用廣播機(jī)制進(jìn)行數(shù)組運(yùn)算
result = a + b

print(result)

在上面的例子中,數(shù)組a和數(shù)組b的維度不同,但是通過廣播機(jī)制,數(shù)組b被擴(kuò)展為[4, 5, 6],然后和數(shù)組a進(jìn)行元素級(jí)的加法運(yùn)算。最終得到的結(jié)果是[5, 7, 9]。

0