Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การทำงานของ Broadcasting ใน NumPy ใน Python

NumPy ย่อมาจาก 'Numerical Python' เป็นไลบรารีที่มีออบเจกต์อาร์เรย์หลายมิติ (multidimensional array) และเมธอดมากมายสำหรับประมวลผลอาร์เรย์

NumPy ใช้ทำงานกับอาร์เรย์หลากหลายรูปแบบ ใช้ร่วมกับแพ็กเกจอย่าง SciPy, Matplotlib เป็นต้น NumPy + Matplotlib ถือเป็นทางเลือกแทน MatLab เป็นแพ็กเกจโอเพนซอร์ส ใครก็ใช้ได้ การติดตั้งผ่าน pip:

pip install numpy

ออบเจกต์สำคัญที่สุดคือ n-dimensional array หรือ 'ndarray' เก็บข้อมูลชนิดเดียวกัน เข้าถึงด้วยดัชนี 0-based ทุกสมาชิกใช้หน่วยความจำเท่ากัน ตรวจสอบชนิดข้อมูลด้วย 'dtype' สามารถสไลด์อาร์เรย์ได้

เกี่ยวกับ NumPy array Broadcasting หมายถึงความสามารถของ NumPy ในการจัดการอาร์เรย์ที่มีรูปร่าง (shape) ต่างกันระหว่างการดำเนินการคณิตศาสตร์ หากสองอาร์เรย์ไม่ใช่ชนิดเดียวกัน จะไม่มีข้อผิดพลาด แต่การดำเนินการจะดำเนินต่อไปได้อย่างราบรื่น

ตัวอย่าง

import numpy as np
arr_1 = np.array([4, 6, 8, 0, 3])
arr_2 = np.array([11, 3, 7, 78, 999])
print("The first ndarray is ")
print(arr_1)
print("The second ndarray is ")
print(arr_2)
arr_3 = arr_1 * arr_2
print("The resultant array is ")
print(arr_3)

ผลลัพธ์

The first ndarray is [4 6 8 0 3]
The second ndarray is [ 11 3 7 78 999]
The resultant array is [ 44 18 56 0 2997]

คำอธิบาย

  • นำเข้าไลบรารีที่จำเป็น
  • สร้าง ndarray สองตัวด้วยค่าตัวเลข
  • แสดงบนคอนโซล
  • อาร์เรย์ที่สาม = ผลคูณของสองอาร์เรย์แรก (element-wise multiplication)
  • แสดงผลลัพธ์

Broadcasting ทำงานอัตโนมัติเมื่ออาร์เรย์มี shape ตรงกันหรือสามารถขยายได้ (เช่น (5,) กับ (5,) หรือ (3,1) กับ (1,4) → (3,4))