NumPy Array Slicing
สไลซ์อาร์เรย์
การแบ่งส่วนในไพ ธ อนหมายถึงการนำองค์ประกอบจากดัชนีที่กำหนดไปยังดัชนีอื่นที่กำหนด
เราส่งผ่าน slice แทน index ดังนี้: .[start:end]
เราสามารถกำหนดขั้นตอนได้ดังนี้:[start:end:step]
ถ้าเราไม่ผ่านถือว่า 0
ถ้าเราไม่ผ่าน end ถือว่าความยาวของอาร์เรย์ในมิตินั้น
ถ้าเราไม่ผ่านขั้นตอนถือว่า 1
ตัวอย่าง
แบ่งองค์ประกอบจากดัชนี 1 ถึงดัชนี 5 จากอาร์เรย์ต่อไปนี้:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])
หมายเหตุ:ผลลัพธ์รวมดัชนีเริ่มต้น แต่ไม่รวมดัชนีสิ้นสุด
ตัวอย่าง
แบ่งองค์ประกอบจากดัชนี 4 ไปยังส่วนท้ายของอาร์เรย์:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[4:])
ตัวอย่าง
องค์ประกอบสไลซ์ตั้งแต่ต้นจนถึงดัชนี 4 (ไม่รวม):
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[:4])
สไลซ์เชิงลบ
ใช้ตัวดำเนินการลบเพื่ออ้างถึงดัชนีจากจุดสิ้นสุด:
ตัวอย่าง
Slice จากดัชนี 3 จากจุดสิ้นสุดไปยังดัชนี 1 จากจุดสิ้นสุด:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[-3:-1])
ขั้นตอน
ใช้step
ค่าเพื่อกำหนดขั้นตอนการหั่น:
ตัวอย่าง
ส่งคืนทุกองค์ประกอบอื่น ๆ จากดัชนี 1 ถึงดัชนี 5:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5:2])
ตัวอย่าง
ส่งคืนองค์ประกอบอื่น ๆ จากอาร์เรย์ทั้งหมด:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[::2])
สไลซ์ 2-D Arrays
ตัวอย่าง
จากองค์ประกอบที่สอง องค์ประกอบสไลซ์จากดัชนี 1 ถึงดัชนี 4 (ไม่รวม):
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[1, 1:4])
หมายเหตุ:จำไว้ว่าองค์ประกอบที่สองมีดัชนี 1
ตัวอย่าง
จากองค์ประกอบทั้งสอง ส่งคืนดัชนี 2:
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 2])
ตัวอย่าง
จากองค์ประกอบทั้งสอง ดัชนีส่วน 1 ถึงดัชนี 4 (ไม่รวม) สิ่งนี้จะส่งคืนอาร์เรย์ 2 มิติ:
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 1:4])