Pandas: ค้นหาค่าที่ไม่ซ้ำในคอลัมน์และจัดเรียง


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อค้นหาค่าที่ไม่ซ้ำในคอลัมน์ของ Pandas DataFrame แล้วจัดเรียง:

 df[' my_column ']. drop_duplicates (). sort_values ()

สิ่งนี้จะส่งคืนชุดแพนด้าที่มีค่าที่ไม่ซ้ำกันแต่ละค่าในคอลัมน์ที่เรียงลำดับจากน้อยไปหามาก

หากต้องการเรียงลำดับค่าที่ไม่ซ้ำตามลำดับจากมากไปน้อย ให้ใช้ ascending=False :

 df[' my_column ']. drop_duplicates (). sort_values (ascending= False )

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

ตัวอย่าง: ค้นหาค่าที่ไม่ซ้ำในคอลัมน์ Pandas และจัดเรียง

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' points ': [5, 5, 9, 12, 12, 5, 10, 13, 13, 19]})

#view DataFrame
print (df)

  team points
0 to 5
1 to 5
2 to 9
3 to 12
4 to 12
5 B 5
6 B 10
7 B 13
8 B 13
9 B 19

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อรับค่าเฉพาะของคอลัมน์ จุด จากนั้นเรียงลำดับจากน้อยไปหามาก:

 #get unique values in points column and sort them
df[' points ']. drop_duplicates (). sort_values ()

0 5
2 9
6 10
3 12
7 13
9 19
Name: points, dtype: int64

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

  • 5
  • 9
  • สิบ
  • 12
  • 13
  • 19

นอกจากนี้เรายังสามารถรับค่าที่ไม่ซ้ำในคอลัมน์คะแนนโดยเรียงลำดับจากมากไปน้อยโดยระบุ จากน้อยไปมาก=เท็จ ในฟังก์ชัน sort_values() :

 #get unique values in points column and sort them in descending order
df[' points ']. drop_duplicates (). sort_values (ascending= False )

9 19
7 13
3 12
6 10
2 9
0 5
Name: points, dtype: int64

ผลลัพธ์จะแสดงค่าที่ไม่ซ้ำกันแต่ละค่าในคอลัมน์ จุด โดยเรียงลำดับจากมากไปน้อย:

  • 19
  • 13
  • 12
  • สิบ
  • 9
  • 5

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน pandas drop_duplicates() ได้ ที่นี่

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:

Pandas: วิธีเลือกแถวเดี่ยวใน DataFrame
Pandas: วิธีรับค่าที่ไม่ซ้ำจากคอลัมน์ดัชนี
นุ่น: วิธีนับชุดค่าผสมที่ไม่ซ้ำของสองคอลัมน์

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

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