NumPy Set Operations
ชุดคืออะไร
ชุดในวิชาคณิตศาสตร์คือชุดขององค์ประกอบที่เป็นเอกลักษณ์
ชุดใช้สำหรับการดำเนินการที่เกี่ยวข้องกับการดำเนินการทางแยกที่พบบ่อย สหภาพและความแตกต่าง
สร้างชุดใน NumPy
เราสามารถใช้วิธีของ NumPy unique()
เพื่อค้นหาองค์ประกอบเฉพาะจากอาร์เรย์ใดก็ได้ เช่น สร้าง set array แต่จำไว้ว่า set array ควรเป็น 1-D arrays เท่านั้น
ตัวอย่าง
แปลงอาร์เรย์ต่อไปนี้ด้วยองค์ประกอบที่ซ้ำกันเป็นชุด:
import numpy as np
arr = np.array([1, 1, 1, 2, 3, 4, 5, 5, 6, 7])
x = np.unique(arr)
print(x)
หาสหภาพ
หากต้องการค้นหาค่าที่ไม่ซ้ำกันของสองอาร์เรย์ ให้ใช้union1d()
วิธีการ
ตัวอย่าง
ค้นหายูเนียนของอาร์เรย์สองชุดต่อไปนี้:
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
newarr = np.union1d(arr1, arr2)
print(newarr)
หาทางแยก
หากต้องการค้นหาเฉพาะค่าที่มีอยู่ในอาร์เรย์ทั้งสอง ให้ใช้intersect1d()
เมธอด
ตัวอย่าง
ค้นหาจุดตัดของอาร์เรย์สองชุดต่อไปนี้:
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
newarr = np.intersect1d(arr1, arr2, assume_unique=True)
print(newarr)
หมายเหตุ: วิธี การintersect1d()
นี้ใช้อาร์กิวเมนต์ที่เป็นทางเลือกassume_unique
ซึ่งหากตั้งค่าเป็น True จะทำให้การคำนวณเร็วขึ้น ควรตั้งค่าเป็น True เสมอเมื่อต้องจัดการกับชุดข้อมูล
ค้นหาความแตกต่าง
หากต้องการค้นหาเฉพาะค่าในชุดแรกที่ไม่มีอยู่ในชุดวินาที ให้ใช้setdiff1d()
วิธีการ
ตัวอย่าง
ค้นหาความแตกต่างของ set1 จาก set2:
import numpy as np
set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])
newarr = np.setdiff1d(set1, set2, assume_unique=True)
print(newarr)
หมายเหตุ: วิธี การsetdiff1d()
นี้ใช้อาร์กิวเมนต์ที่เป็นทางเลือกassume_unique
ซึ่งหากตั้งค่าเป็น True จะทำให้การคำนวณเร็วขึ้น ควรตั้งค่าเป็น True เสมอเมื่อต้องจัดการกับชุดข้อมูล
ค้นหาความแตกต่างสมมาตร
หากต้องการค้นหาเฉพาะค่าที่ไม่มีอยู่ในทั้งสองชุด ให้ใช้setxor1d()
วิธีการ
ตัวอย่าง
ค้นหาผลต่างสมมาตรของ set1 และ set2:
import numpy as np
set1 = np.array([1, 2, 3, 4])
set2 = np.array([3, 4, 5, 6])
newarr = np.setxor1d(set1, set2, assume_unique=True)
print(newarr)
หมายเหตุ: วิธี การsetxor1d()
นี้ใช้อาร์กิวเมนต์ที่เป็นทางเลือกassume_unique
ซึ่งหากตั้งค่าเป็น True จะทำให้การคำนวณเร็วขึ้น ควรตั้งค่าเป็น True เสมอเมื่อต้องจัดการกับชุดข้อมูล