วิธีใช้ฟังก์ชัน where() ใน pandas (พร้อมตัวอย่าง)
สามารถใช้ฟังก์ชัน Where() เพื่อแทนที่ค่าบางค่าใน Pandas DataFrame
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
df. where (cond, other=nan)
สำหรับแต่ละค่าใน Pandas DataFrame โดยที่ cond เป็น True ค่าดั้งเดิมจะยังคงอยู่
สำหรับแต่ละค่าที่ cond เป็นเท็จ ค่าเดิมจะถูกแทนที่ด้วยค่าที่ระบุโดยอาร์กิวเมนต์ อื่น
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ไวยากรณ์นี้ในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
ตัวอย่างที่ 1: แทนที่ค่าทั่วทั้ง DataFrame
โค้ดต่อไปนี้แสดงวิธีใช้ฟังก์ชัน Where() เพื่อแทนที่ค่าทั้งหมดที่ไม่ตรงตามเงื่อนไขที่กำหนดใน Pandas DataFrame ทั้งหมดด้วยค่า NaN
#keep values that are greater than 7, but replace all others with NaN df. where (df>7) points assists rebounds 0 25 NaN 11.0 1 12 NaN 8.0 2 15 NaN 10.0 3 14 9.0 NaN 4 19 12.0 NaN 5 23 9.0 NaN 6 25 9.0 9.0 7 29 NaN 12.0
นอกจากนี้เรายังสามารถใช้อาร์กิวเมนต์ อื่น เพื่อแทนที่ค่าด้วยค่าอื่นที่ไม่ใช่ NaN
#keep values that are greater than 7, but replace all others with 'low' df. where (df>7, other=' low ') points assists rebounds 0 25 low 11 1 12 low 8 2 15 low 10 3 14 9 low 4 19 12 low 5 23 9 low 6 25 9 9 7 29 low 12
ตัวอย่างที่ 2: แทนที่ค่าในคอลัมน์ DataFrame เฉพาะ
โค้ดต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน Where() เพื่อแทนที่ค่าทั้งหมดที่ไม่ตรงตามเงื่อนไขที่กำหนดในคอลัมน์เฉพาะของ DataFrame
#keep values greater than 15 in 'points' column, but replace others with 'low' df[' points '] = df[' points ']. where (df[' points ']>15, other=' low ') #view DataFrame df points assists rebounds 0 25 5 11 1 low 7 8 2 low 7 10 3 low 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
คุณสามารถดูเอกสารออนไลน์ฉบับเต็มสำหรับฟังก์ชัน pandaswhere() ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:
วิธีใช้ฟังก์ชันอธิบาย() ใน Pandas
วิธีใช้ฟังก์ชัน idxmax() ใน Pandas
วิธีใช้ฟังก์ชันกับคอลัมน์ที่เลือกใน Pandas