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: วิธีรับค่าที่ไม่ซ้ำจากคอลัมน์ดัชนี
นุ่น: วิธีนับชุดค่าผสมที่ไม่ซ้ำของสองคอลัมน์