วิธีใช้ pandas apply()
ฟังก์ชัน pandas Apply() สามารถใช้เพื่อนำฟังก์ชันไปใช้กับแถวหรือคอลัมน์ของ Pandas DataFrame
ฟังก์ชันนี้แตกต่างจากฟังก์ชันอื่นๆ เช่น drop() และ แทนที่() ซึ่งมีอาร์กิวเมนต์แบบแทนที่:
df. drop ([' column1 '], inplace= True ) df. rename ({' old_column ': ' new_column '}, inplace= True )
ฟังก์ชัน Apply() ไม่มีอาร์กิวเมนต์ inplace ดังนั้นเราต้องใช้ไวยากรณ์ต่อไปนี้เพื่อแปลง DataFrame แบบ inplace:
df = df. apply ( lambda x: x* 2 )
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ไวยากรณ์นี้ในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #createDataFrame 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: ใช้ Apply() แทนคอลัมน์
รหัสต่อไปนี้สาธิตวิธีการใช้ Apply() เพื่อแปลงคอลัมน์กรอบข้อมูลในสถานที่:
#multiply all values in 'points' column by 2 in place df. loc [:, ' points '] = df. points . apply ( lambda x: x* 2 ) #view updated DataFrame df points assists rebounds 0 50 5 11 1 24 7 8 2 30 7 10 3 28 9 6 4 38 12 6 5 46 9 5 6 50 9 9 7 58 4 12
ตัวอย่างที่ 2: ใช้ Apply() แทนหลายคอลัมน์
รหัสต่อไปนี้สาธิตวิธีการใช้ Apply() เพื่อแปลงคอลัมน์กรอบข้อมูลหลายคอลัมน์ในสถานที่:
multiply all values in 'points' and 'rebounds' column by 2 in place df[[' points ', ' rebounds ']] = df[[' points ', ' rebounds ']]. apply ( lambda x: x* 2 ) #view updated DataFrame df points assists rebounds 0 50 5 22 1 24 7 16 2 30 7 20 3 28 9 12 4 38 12 12 5 46 9 10 6 50 9 18 7 58 4 24
ตัวอย่างที่ 3: ใช้ Apply() แทนทุกคอลัมน์
รหัสต่อไปนี้แสดงวิธีใช้ Apply() เพื่อแปลงคอลัมน์ทั้งหมดในกรอบข้อมูล:
#multiply values in all columns by 2 df = df. apply ( lambda x: x* 2 ) #view updated DataFrame df points assists rebounds 0 50 10 22 1 24 14 16 2 30 14 20 3 28 18 12 4 38 24 12 5 46 18 10 6 50 18 18 7 58 8 24
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:
วิธีคำนวณผลรวมของคอลัมน์ใน Pandas
วิธีการคำนวณค่าเฉลี่ยของคอลัมน์ใน Pandas
วิธีค้นหาค่าสูงสุดของคอลัมน์ใน Pandas