Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python หา Rank ขั้นต่ำของคอลัมน์เฉพาะใน DataFrame

สมมติว่าคุณมี DataFrame และต้องการคำนวณ rank (อันดับ) ของคอลัมน์ Age โดยใช้วิธี 'min' สำหรับค่าที่ซ้ำกัน

วิธีแก้ปัญหา

  1. สร้าง DataFrame
  2. ใช้ df['Age'].rank(axis=0, method='min', ascending=True) คำนวณ rank
  3. เก็บผลลัพธ์ไว้ในคอลัมน์ใหม่ 'Rank'

ตัวอย่างโค้ด

import pandas as pd

data = {'Id': [1, 2, 3, 4, 5],
        'Name': ["Adam", "David", "Michael", "Peter", "William"],
        'Age': [12, 13, 14, 12, 13]}

df = pd.DataFrame(data)

# คำนวณ rank แบบ min (ค่าที่เท่ากันได้ rank ต่ำสุด)
df["Rank"] = df["Age"].rank(axis=0, method='min', ascending=True)

print("DataFrame พร้อม Rank:")
print(df)

ผลลัพธ์

   Id      Name  Age  Rank
0   1      Adam   12   1.0
1   2     David   13   3.0
2   3   Michael   14   5.0
3   4     Peter   12   1.0
4   5   William   13   3.0

คำอธิบาย method='min':

  • ค่าที่เท่ากันจะได้ rank ต่ำสุด (minimum rank) ของกลุ่มนั้นๆ
  • Age=12 มี 2 คน ได้ rank 1.0 (ไม่ใช่ 1.5)
  • Age=13 มี 2 คน ได้ rank 3.0 (ข้าม rank 2)
  • Age=14 มี 1 คน ได้ rank 5.0

method อื่นๆ: 'average' (default), 'max', 'first', 'dense'