Numpy: ความแตกต่างระหว่าง np.linspace และ np.arange
เมื่อพูดถึงการสร้างลำดับของค่า linspace และ arange เป็นฟังก์ชัน NumPy สองฟังก์ชันที่ใช้กันทั่วไป
นี่คือข้อแตกต่างเล็กน้อยระหว่างทั้งสองฟังก์ชัน:
- linspace ให้คุณระบุ จำนวน ขั้นตอน
- arange ช่วยให้คุณสามารถระบุ ขนาด ของขั้นตอนได้
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันในทางปฏิบัติ
ตัวอย่างที่ 1: วิธีใช้ np.linspace
ฟังก์ชัน np.linspace() ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
np.linspace (เริ่ม, หยุด, หมายเลข, …)
ทอง:
- start : ค่าเริ่มต้นของลำดับ
- stop : ค่าสิ้นสุดของลำดับ
- num : จำนวนค่าที่จะสร้าง
รหัสต่อไปนี้แสดงวิธีใช้ np.linspace() เพื่อสร้างค่าที่เว้นระยะเท่ากัน 11 ค่าระหว่าง 0 ถึง 20:
import numpy as np
#create sequence of 11 evenly spaced values between 0 and 20
n.p. linspace (0, 20, 11)
array([ 0., 2., 4., 6., 8., 10., 12., 14., 16., 18., 20.])
ผลลัพธ์คืออาร์เรย์ของค่าที่เว้นระยะเท่ากัน 11 ค่าระหว่าง 0 ถึง 20
การใช้วิธีนี้ np.linspace() จะกำหนดระยะห่างระหว่างค่าโดยอัตโนมัติ
ตัวอย่างที่ 2: วิธีการใช้งาน np.arange
ฟังก์ชัน np.arange() ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
np.arange(เริ่ม, หยุด, ก้าว, …)
ทอง:
- start : ค่าเริ่มต้นของลำดับ
- stop : ค่าสิ้นสุดของลำดับ
- step : ระยะห่างระหว่างค่า
โค้ดต่อไปนี้แสดงวิธีใช้ np.arange() เพื่อสร้างลำดับของค่าระหว่าง 0 ถึง 20 โดยที่ระยะห่างระหว่างแต่ละค่าคือ 2:
import numpy as np
#create sequence of values between 0 and 20 where spacing is 2
n.p. arange (0, 20, 2)
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
ผลลัพธ์คือลำดับของค่าระหว่าง 0 ถึง 20 โดยที่ระยะห่างระหว่างแต่ละค่าคือ 2
เมื่อใช้วิธีการนี้ np.arange() จะกำหนดจำนวนค่าที่จะสร้างโดยอัตโนมัติ
หากเราใช้ขนาดขั้นตอนอื่น (เช่น 4) จากนั้น np.arange() จะปรับจำนวนค่าทั้งหมดที่สร้างขึ้นโดยอัตโนมัติ:
import numpy as np
#create sequence of values between 0 and 20 where spacing is 4
n.p. arange (0, 20, 4)
array([ 0, 4, 8, 12, 16])
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน Python:
วิธีเติมอาร์เรย์ NumPy ด้วยค่า
วิธีแทนที่องค์ประกอบในอาร์เรย์ NumPy
วิธีนับค่าที่ไม่ซ้ำในอาร์เรย์ NumPy