สำหรับค่า mean ให้ใช้ฟังก์ชัน mean() คำนวณค่าเฉลี่ยสำหรับคอลัมน์ด้วย NaN และใช้ fillna() เพื่อเติมค่า NaN ด้วยค่าเฉลี่ย
ให้เรานำเข้าไลบรารีที่จำเป็นก่อน -
import pandas as pd import numpy as np
สร้าง DataFrame ที่มี 2 คอลัมน์และค่า NaN บางส่วน เราได้ป้อนค่า NaN เหล่านี้โดยใช้ numpy np.NaN -
dataFrame = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN] } )
ค้นหาค่าเฉลี่ยของค่าคอลัมน์ด้วย NaN เช่นสำหรับคอลัมน์หน่วยที่นี่ ดังนั้นคอลัมน์หน่วยจึงมี 100, 150 และ 80; ดังนั้น ค่าเฉลี่ยจะเป็น 110 −
meanVal = dataFrame['Units'].mean()
แทนที่ NaN ด้วยค่าเฉลี่ยของคอลัมน์ที่มันตั้งอยู่ ค่าเฉลี่ยที่คำนวณข้างต้นคือ 110 ดังนั้นค่า NaN จะถูกแทนที่ด้วย 110 −
dataFrame['Units'].fillna(value=meanVal, inplace=True)
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
import pandas as pd import numpy as np # Create DataFrame dataFrame = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN] } ) print"DataFrame ...\n",dataFrame # finding mean of the column values with NaN i.e, for Units columns here # so the Units column has 100, 150 and 80; therefore the mean would ne 110 meanVal = dataFrame['Units'].mean() # Replace NaNs with the mean of the column where it is located # the mean calculated above is 110, so NaN values will be replaced with 110 dataFrame['Units'].fillna(value=meanVal, inplace=True) print"\nUpdated Dataframe after filling NaN values with mean...\n",dataFrame
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
DataFrame ... Car Units 0 BMW 100.0 1 Lexus 150.0 2 Lexus NaN 3 Mustang 80.0 4 Bentley NaN 5 Mustang NaN Updated Dataframe after filling NaN values with mean... Car Units 0 BMW 100.0 1 Lexus 150.0 2 Lexus 110.0 3 Mustang 80.0 4 Bentley 110.0 5 Mustang 110.0