0Pricing
Learn AI with Python · บทเรียน

การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ

การหั่นข้อมูลพื้นฐาน การทำหน้ากากบูลีน การทำดัชนีแบบพิเศษ และ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การสร้างอาร์เรย์และคุณสมบัติ
  2. การทำดัชนี การหั่นข้อมูล และการทำดัชนีแบบพิเศษ
  3. การแพร่กระจายรูปร่างและการดำเนินการแบบเวกเตอร์
  4. พีชคณิตเชิงเส้นด้วย NumPy
← กลับไปที่ Learn AI with Python