สมมติว่า คุณมี dataframe และผลลัพธ์สำหรับค่าต่ำสุดที่สองในแต่ละคอลัมน์เป็น,
Id 2 Salary 30000 Age 23
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -
วิธีแก้ปัญหา
-
กำหนดดาต้าเฟรม
-
ตั้งค่าฟังก์ชัน df.apply() ภายในสร้างฟังก์ชันแลมบ์ดาและตั้งค่าตัวแปรเช่น x เพื่อเข้าถึงทุกคอลัมน์และตรวจสอบนิพจน์เป็น
x.sort_values().unique()[1] พร้อม axis=0 เพื่อคืนค่าต่ำสุดที่สองเป็น,
result = df.apply(lambda x: x.sort_values().unique()[1], axis=0)
ตัวอย่าง
มาตรวจสอบรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
import pandas as pd df = pd.DataFrame({'Id':[1,2,3,4,5,6,7,8,9,10], 'Salary':[20000,30000,50000,40000,80000,90000,350000,55000,60000,70000], 'Age': [22,23,24,25,26,25,26,27,25,24] }) print("DataFrame is:\n",df) print("Second lowest value of each column is:") result = df.apply(lambda x: x.sort_values().unique()[1], axis=0) print(result)
ผลลัพธ์
DataFrame is: Id Salary Age 0 1 20000 22 1 2 30000 23 2 3 50000 24 3 4 40000 25 4 5 80000 26 5 6 90000 25 6 7 350000 26 7 8 55000 27 8 9 60000 25 9 10 70000 24 Second lowest value of each column is: Id 2 Salary 30000 Age 23 dtype: int64