วิธีแทนที่ค่าใน pandas dataframe (พร้อมตัวอย่าง)
บ่อยครั้งที่คุณอาจต้องการแทนที่ค่าในหนึ่งคอลัมน์ขึ้นไปของ Pandas DataFrame
โชคดีที่ทำได้ง่ายโดยใช้ฟังก์ชัน .replace()
บทช่วยสอนนี้มีตัวอย่างการใช้งานจริงของฟังก์ชันนี้บน DataFrame ต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'], 'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'], 'rebounds': [11, 8, 7, 6, 6, 5, 12]}) #view DataFrame print (df) team division rebounds 0 AE 11 1 AW 8 2 BE 7 3 BE 6 4 BW 6 5 CW 5 6 CE 12
ตัวอย่างที่ 1: แทนที่ค่าเดียวใน DataFrame ทั้งหมด
รหัสต่อไปนี้แสดงวิธีการแทนที่ค่าเดียวใน DataFrame แพนด้าทั้งหมด:
#replace 'E' with 'East' df = df. replace ([' E '],' East ') #view DataFrame print (df) team division rebounds 0 A East 11 1 AW 8 2 B East 7 3 B East 6 4 BW 6 5 CW 5 6 C East 12
ตัวอย่างที่ 2: แทนที่ค่าหลายค่าใน DataFrame ทั้งหมด
รหัสต่อไปนี้แสดงวิธีแทนที่ค่าหลายค่าใน DataFrame แพนด้าทั้งหมด:
#replace 'E' with 'East' and 'W' with 'West' df = df. replace ([' E ',' W '],[' East ',' West ']) #view DataFrame print (df) team division rebounds 0 A East 11 1 A West 8 2 B East 7 3 B East 6 4 B West 6 5 C West 5 6 C East 12
ตัวอย่างที่ 3: แทนที่ค่าเดียวในคอลัมน์เดียว
รหัสต่อไปนี้แสดงวิธีการแทนที่ค่าเดียวในคอลัมน์เดียว:
#replace 6 with 0 in rebounds column df[' rebounds '] = df[' rebounds ']. replace (6, 0) #view DataFrame print (df) team division rebounds 0 A E 11 1 A W 8 2 B E 7 3 B E 0 4 B W 0 5 C W 5 6 C E 12
ตัวอย่างที่ 4: แทนที่ค่าหลายค่าในคอลัมน์เดียว
รหัสต่อไปนี้แสดงวิธีแทนที่ค่าหลายค่าในคอลัมน์เดียว:
#replace 6, 11, and 8 with 0, 1 and 2 in rebounds column df[' rebounds '] = df[' rebounds ']. replace ([6, 11, 8], [0, 1, 2]) #view DataFrame print (df) team division rebounds 0 A E 1 1 A W 2 2 B E 7 3 B E 0 4 B W 0 5 C W 5 6 C E 12
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
วิธีแทนที่ค่า NaN ด้วยศูนย์ใน Pandas
วิธีแทนที่สตริงว่างด้วย NaN ใน Pandas
วิธีแทนที่ค่าในคอลัมน์ตามเงื่อนไขใน Pandas