วิธีนับค่าที่ไม่ซ้ำในอาร์เรย์ numpy (3 ตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อนับค่าที่ไม่ซ้ำในอาร์เรย์ NumPy:

วิธีที่ 1: แสดงค่าที่ไม่ซ้ำ

 n.p. single (my_array)

วิธีที่ 2: นับจำนวนค่าที่ไม่ซ้ำ

 len (np. unique (my_array))

วิธีที่ 3: นับจำนวนครั้งของค่าที่ไม่ซ้ำกันแต่ละค่า

 n.p. unique (my_array, return_counts= True )

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับอาร์เรย์ NumPy ต่อไปนี้:

 import numpy as np

#create NumPy array
my_array = np. array ([1, 3, 3, 4, 4, 7, 8, 8])

ตัวอย่างที่ 1: แสดงค่าที่ไม่ซ้ำ

รหัสต่อไปนี้แสดงวิธีการแสดงค่าที่ไม่ซ้ำในอาร์เรย์ NumPy:

 #display unique values
n.p. single (my_array)

array([1, 3, 4, 7, 8])

จากผลลัพธ์ เราจะเห็นแต่ละค่าที่ไม่ซ้ำกันในอาร์เรย์ NumPy: 1, 3, 4, 7, 8

ตัวอย่างที่ 2: นับจำนวนค่าที่ไม่ซ้ำ

รหัสต่อไปนี้แสดงวิธีนับจำนวนค่าที่ไม่ซ้ำทั้งหมดในอาร์เรย์ NumPy:

 #display total number of unique values
len (np. unique (my_array))

5

จากผลลัพธ์เราจะเห็นว่ามีค่าที่ไม่ซ้ำกัน 5 ค่าในอาร์เรย์ NumPy

ตัวอย่างที่ 3: นับจำนวนครั้งของค่าที่ไม่ซ้ำกันแต่ละค่า

รหัสต่อไปนี้แสดงวิธีการนับจำนวนครั้งของค่าที่ไม่ซ้ำกันแต่ละค่าในอาร์เรย์ NumPy:

 #count occurrences of each unique value
n.p. unique (my_array, return_counts= True )

(array([1, 3, 4, 7, 8]), array([1, 2, 2, 1, 2]))

ตารางแรกในเอาต์พุตจะแสดงค่าที่ไม่ซ้ำและตารางที่สองจะแสดงจำนวนค่าที่ไม่ซ้ำแต่ละค่า

เราสามารถใช้โค้ดต่อไปนี้เพื่อพิมพ์เอาต์พุตนี้ในรูปแบบที่อ่านง่ายกว่า:

 #get unique values and counts of each value
unique, counts = np. unique (my_array, return_counts= True )

#display unique values and counts side by side
print ( np.asarray ((unique,counts)). T )

[[1 1]
 [3 2]
 [4 2]
 [7 1]
 [8 2]]

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ค่า 1 ปรากฏ 1 ครั้ง
  • ค่า 3 ปรากฏขึ้น สองครั้ง
  • ค่า 4 ปรากฏขึ้น สองครั้ง
  • ค่า 7 ปรากฏ 1 ครั้ง
  • ค่า 8 ปรากฏขึ้น สองครั้ง

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน Python:

วิธีการคำนวณโหมดของอาร์เรย์ NumPy
วิธีแมปฟังก์ชันกับอาร์เรย์ NumPy
วิธีจัดเรียงอาร์เรย์ NumPy ตามคอลัมน์

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

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