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

โปรแกรม Python เรียงลำดับ DataFrame ตามคอลัมน์ Name แบบ Descending

โจทย์

DataFrame ตัวอย่าง:

   Id Name
0  1  Adam
1  2  Michael
2  3  David
3  4  Jack
4  5  Peter

ต้องการเรียงตาม Name จาก Z-A (descending)

วิธีแก้

ใช้ df.sort_values(by='Name', ascending=False)

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

import pandas as pd
data = {'Id': [1,2,3,4,5], 'Name': ['Adam','Michael','David','Jack','Peter']}
df = pd.DataFrame(data)
print("Before sorting:\n", df)
print("After sorting:\n", df.sort_values(by='Name', ascending=False))

ผลลัพธ์

Before sorting:
   Id Name
0  1  Adam
1  2  Michael
2  3  David
3  4  Jack
4  5  Peter
After sorting:
   Id Name
4  5  Peter
1  2  Michael
3  4  Jack
2  3  David
0  1  Adam

คำอธิบาย

  • sort_values(by='Name', ascending=False): เรียงตามคอลัมน์ Name จากมากไปน้อย (Z-A)
  • คืนค่า DataFrame ใหม่ (ไม่เปลี่ยนตัวเดิม ต้อง assign กลับ: df = df.sort_values(...))
  • รองรับหลายคอลัมน์: sort_values(by=['col1', 'col2'], ascending=[True, False])