Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Cách điền giá trị NaN bằng mean trong Pandas?

Đối với mean, dùng hàm mean(). Tính mean cho cột có NaN và dùng fillna() điền NaN bằng mean.

Nhập thư viện:

import pandas as pd
import numpy as np

Tạo DataFrame 2 cột có NaN (bằng np.NaN):

dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],
    "Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
})

Tìm mean cột Units (có 100, 150, 80 → mean = 110):

meanVal = dataFrame['Units'].mean()

Thay NaN bằng mean (110):

dataFrame['Units'].fillna(value=meanVal, inplace=True)

Ví dụ

import pandas as pd
import numpy as np

dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],
    "Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
})
print("DataFrame ...\n", dataFrame)

meanVal = dataFrame['Units'].mean()
dataFrame['Units'].fillna(value=meanVal, inplace=True)
print("\nUpdated Dataframe after filling NaN values with mean...\n", dataFrame)

Đầu ra

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