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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *