Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Điền các giá trị cột bị thiếu bằng giá trị trung vị

Trung vị phân tách nửa cao hơn với nửa dưới của dữ liệu. Sử dụng phương thức fillna () và đặt giá trị trung bình để lấp đầy các cột còn thiếu với giá trị trung bình. Đầu tiên, hãy để chúng tôi nhập các thư viện được yêu cầu với bí danh tương ứng của chúng -

import pandas as pd
import numpy as np

Tạo một DataFrame có 2 cột. Chúng tôi đã đặt các giá trị NaN bằng Numpy np.NaN -

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

Tìm giá trị trung bình của các cột bằng NaN, tức là cho các cột Đơn vị tại đây. Thay thế các NaN bằng trung vị của cột nơi nó được đặt bằng cách sử dụng median () trên cột Đơn vị -

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

Ví dụ

Sau đây là mã -

import pandas as pd
import numpy as np

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

print"DataFrame ...\n",dataFrame

# finding median of the column values with NaN i.e, for Units columns here
# Replace NaNs with the median of the column where it is located
dataFrame.fillna(dataFrame['Units'].median(), inplace = True)

print"\nUpdated Dataframe after filling NaN values with median...\n",dataFrame

Đầu ra

Điều này sẽ tạo ra kết quả sau -

DataFrame ...
       Car   Units
0    Lexus   100.0
1      BMW   150.0
2     Audi     NaN
3  Bentley    80.0
4  Mustang     NaN
5    Tesla     NaN

Updated Dataframe after filling NaN values with median...
       Car   Units
0    Lexus   100.0
1      BMW   150.0
2     Audi   100.0
3  Bentley    80.0
4  Mustang   100.0
5    Tesla   100.0