สำหรับค่า 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