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

เขียนโค้ด Python คำนวณอัตราการเปลี่ยนแปลงเปอร์เซ็นต์ระหว่างคอลัมน์ Id และ Age สำหรับ 2 แถวบนสุดและล่างสุด

สมมติว่าคุณมี DataFrame และต้องการคำนวณอัตราการเปลี่ยนแปลงเปอร์เซ็นต์ (percentage change) ของคอลัมน์ Id และ Age สำหรับ 2 แถวแรกและ 2 แถวสุดท้าย

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

  1. สร้าง DataFrame
  2. ใช้ df[['Id', 'Age']].pct_change() คำนวณ % change
  3. ใช้ slicing [0:2] สำหรับ 2 แถวบนสุด และ [-2:] สำหรับ 2 แถวล่างสุด

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

import pandas as pd

df = pd.DataFrame({
    "Id": [1, 2, 3, None, 5],
    "Age": [12, 12, 14, 13, None],
    "Mark": [80, 90, None, 95, 85]
})

print("DataFrame ต้นฉบับ:\n", df)

# Percentage change สำหรับ 2 แถวบนสุด
print("\nId และ Age - 2 แถวบนสุด:")
print(df[['Id', 'Age']].pct_change()[0:2])

# Percentage change สำหรับ 2 แถวล่างสุด
print("\nId และ Age - 2 แถวล่างสุด:")
print(df[['Id', 'Age']].pct_change()[-2:])

ผลลัพธ์

DataFrame ต้นฉบับ:
     Id   Age  Mark
0  1.0  12.0  80.0
1  2.0  12.0  90.0
2  3.0  14.0   NaN
3  NaN  13.0  95.0
4  5.0   NaN  85.0

Id และ Age - 2 แถวบนสุด:
     Id  Age
0   NaN  NaN
1  1.0  0.0

Id และ Age - 2 แถวล่างสุด:
     Id      Age
3  0.000000 -0.071429
4  0.666667  0.000000

คำอธิบาย:

  • pct_change() คำนวณ (current - previous) / previous
  • แถวแรกจะเป็น NaN เสมอ เพราะไม่มีข้อมูลก่อนหน้า
  • แถวที่ 3 (index 3) มี Id เป็น NaN ทำให้ % change ของ Id เป็น 0 (NaN ไม่ถูกนับ)
  • ค่า NaN ใน Age ทำให้ % change คำนวณไม่ได้ในบางแถว