Đối với giá trị trung bình, hãy sử dụng hàm mean (). Tính giá trị trung bình cho cột với NaN và sử dụng fillna () để điền giá trị NaN với giá trị trung bình.
Trước tiên, hãy để chúng tôi nhập các thư viện được yêu cầu -
import pandas as pd import numpy as np
Tạo một DataFrame với 2 cột và một số giá trị NaN. Chúng tôi đã nhập các giá trị NaN này 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 giá trị trung bình của các giá trị cột với NaN, tức là cho các cột Đơn vị tại đây. Vì vậy, cột Đơn vị có 100, 150 và 80; do đó, giá trị trung bình sẽ là 110 -
meanVal = dataFrame['Units'].mean()
Thay thế các NaN bằng giá trị trung bình của cột mà nó nằm ở đâu. Giá trị trung bình được tính toán ở trên là 110, vì vậy giá trị NaN sẽ được thay thế bằng 110 -
dataFrame['Units'].fillna(value=meanVal, inplace=True)
Ví dụ
Sau đây là mã -
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
Đầ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 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