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 chế độ

Chế độ là giá trị xuất hiện nhiều nhất trong một bộ giá trị. Sử dụng fillna () và đặt chế độ để lấp đầy các cột còn thiếu bằng chế độ. Đầ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": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
   }
)

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

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

Ví dụ

Sau đây là mã hoàn chỉnh -

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 mode of the column values with NaN i.e, for Units columns here
# Replace NaNs with the mode of the column where it is located
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)

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

Đầu ra

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

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 mode...
       Car   Units
0      BMW   100.0
1    Lexus   150.0
2    Lexus    80.0
3  Mustang    80.0
4  Bentley    80.0
5  Mustang    80.0