การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ
การหั่นข้อมูลพื้นฐาน การทำหน้ากากบูลีน การทำดัชนีแบบพิเศษ และ np.where() สำหรับการเลือกตามเงื่อนไข
การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
พื้นฐานการใช้ดัชนี
อาร์เรย์ NumPy ใช้ดัชนีเริ่มต้นจากศูนย์เช่นเดียวกับรายการของ Python ดัชนีติดลบจะนับจากท้ายรายการ
import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0]) # 10
print(a[-1]) # 50การตัดแบ่งอาร์เรย์ 1 มิติ
การตัดแบ่งใช้ start:stop:step และคืนค่าเป็น มุมมอง (ไม่ใช่สำเนา) ดังนั้นการแก้ไขส่วนที่ตัดแบ่งจะเปลี่ยนแปลงข้อมูลต้นฉบับ
print(a[1:4]) # [20 30 40]
print(a[::2]) # [10 30 50]
view = a[1:3]
view[0] = 99
print(a) # [10 99 30 40 50]การใช้ดัชนี 2 มิติ [แถว, คอลัมน์]
สำหรับอาร์เรย์ 2 มิติ ให้ใช้วงเล็บเหลี่ยมคู่เดียวที่บรรจุพิกัดทั้งสอง: m[row, col] วิธีนี้เป็นระเบียบและเร็วกว่า m[row][col]
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(m[1, 2]) # 6
print(m[0, 0]) # 1การตัดแบ่งแถวและคอลัมน์
ใช้โคลอนเพื่อเลือกทั้งแกน m[:, 1] จะเลือกคอลัมน์ 1 จากทุกแถว
print(m[0, :]) # first row: [1 2 3]
print(m[:, 1]) # second col: [2 5 8]
print(m[1:, :2]) # bottom-left blockหน้ากากบูลีน
การเปรียบเทียบจะสร้างอาร์เรย์บูลีนที่มีรูปร่างเหมือนกันทุกประการ การใช้ดัชนีด้วยหน้ากากนั้นจะเก็บไว้เฉพาะตำแหน่งที่เป็นจริง
a = np.array([5, 12, 7, 20, 3])
mask = a > 8
print(mask) # [False True False True False]
print(a[mask]) # [12 20]การรวมเงื่อนไข
ใช้ & (และ) และ | (หรือ) แบบทีละองค์ประกอบ โดยใส่วงเล็บครอบเงื่อนไข คำสำคัญ and/or ของ Python ไม่สามารถ (NOT) ใช้กับอาร์เรย์ได้
print(a[(a > 4) & (a < 15)]) # [ 5 12 7]การกำหนดค่าผ่านหน้ากาก
คุณสามารถเขียนค่าไปยังตำแหน่งที่หน้ากากเลือกไว้เพื่อทำความสะอาดข้อมูลโดยตรง เช่น จำกัดค่าผิดปกติให้อยู่ไม่เกินค่าสูงสุด
a = np.array([5, 12, 7, 20, 3])
a[a > 10] = 10
print(a) # [ 5 10 7 10 3]การใช้ดัชนีแบบพิเศษด้วยอาร์เรย์
ส่งอาร์เรย์ (หรือรายการ) ของดัชนีจำนวนเต็มเพื่อเลือกสมาชิกใด ๆ ตามลำดับที่ต้องการ และอาจเลือกซ้ำได้ วิธีนี้คืนค่าสำเนา ไม่ใช่มุมมอง
a = np.array([10, 20, 30, 40, 50])
idx = [4, 0, 2, 2]
print(a[idx]) # [50 10 30 30]การใช้ดัชนีแบบพิเศษใน 2 มิติ
ระบุอาร์เรย์ดัชนีสองชุดเพื่อเลือกคู่ (แถว, คอลัมน์) ที่ต้องการ ในที่นี้เราจะเลือกสมาชิกที่อยู่ตรงมุมตามแนวทแยงมุม
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
rows = [0, 2]
cols = [0, 2]
print(m[rows, cols]) # [1 9]การเลือกตามเงื่อนไขด้วย np.where
np.where(cond, x, y) จะคืนสมาชิกจาก x ในตำแหน่งที่เงื่อนไขเป็นจริง และคืนสมาชิกจาก y ในตำแหน่งอื่น เป็นการทำงานแบบถ้า-มิฉะนั้นกับเวกเตอร์
a = np.array([-2, 5, -7, 3])
print(np.where(a < 0, 0, a)) # [0 5 0 3] (clip negatives)ใช้ np.where เพื่อค้นหาดัชนี
เมื่อเรียกใช้ด้วยอาร์กิวเมนต์เดียว np.where(cond) จะคืนค่าดัชนีของตำแหน่งที่เงื่อนไขเป็นจริง
a = np.array([10, 20, 30, 40])
print(np.where(a > 15)) # (array([1, 2, 3]),)แบบทดสอบสั้น ๆ
ลองทดสอบทักษะการใช้ดัชนีของคุณ
สรุป
เทคนิคการเลือกสมาชิก:
- ดัชนีพื้นฐานและการตัดแบ่ง (การตัดแบ่งเป็นมุมมอง)
- การเข้าถึง 2 มิติด้วย
m[row, col]และการเลือกทั้งแกนด้วย: - หน้ากากบูลีนด้วย
&และ| - การใช้ดัชนีแบบพิเศษด้วยอาร์เรย์ของดัชนี (คืนค่าสำเนา)
np.where(cond, x, y)สำหรับการทำงานแบบถ้า-มิฉะนั้นกับเวกเตอร์
คำถามที่พบบ่อย
บทเรียน “การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ”
การหั่นข้อมูลพื้นฐาน การทำหน้ากากบูลีน การทำดัชนีแบบพิเศษ และ np.where() สำหรับการเลือกตามเงื่อนไข คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้างอาร์เรย์และคุณสมบัติ
- การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ
- การแพร่กระจายรูปร่างและการดำเนินการแบบเวกเตอร์
- พีชคณิตเชิงเส้นด้วย NumPy