簡體   English   中英

替換 NaN 值

[英]Replacing NaN Values

我有 2 個數據框。 我想用第二個 dataframe 的列中的值替換第一個 dataframe 中列的缺失值。這兩個數據幀是這樣的:

第一個 DataFrame:

Item_Identifier    Item_Weight    Item_Fat_Content    Item_Visibility    Item_Type
FDA15              9.0            Low Fat             0.016              Dairy
DRC01              NaN            Regular             0.017              Soft Drinks

第二個DataFrame:

Item_Type     mean
Soft Drinks   8.7
Dairy         9.7

應將第一個 DataFrame 中的 NaN 值替換為 8.7。 這是因為 Item_Type 是 Soft Drinks,而在第二個 DataFrame 中,Soft Drinks 的平均值是 8.7。

這是我的代碼:

for i in range(len(big_mart)):
if pd.isna(big_mart.iloc[i, 1]) == True:
    for j in range(len(item_type_mean)):
        if big_mart.iloc[i, 4] == item_type_mean.iloc[j, 0]:
            big_mart.iloc[i, 1] == item_type_mean.iloc[j, 1]  

使用 -

df1['Item_Weight'] = df1['Item_Weight'].fillna(df1['Item_Type'].map(df2.set_index('Item_Type')['mean']))

Output

  Item_Identifier  Item_Weight Item_Fat_Content  Item_Visibility    Item_Type
0           FDA15          9.0          Low_Fat            0.016        Dairy
1           DRC01          8.7          Regular            0.017  Soft_Drinks

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM