簡體   English   中英

使用字典熊貓填充 NaN 值

[英]Fill NaN values using dictionary pandas

我有一個包含Brand_IDBrand_Name列的數據Brand_ID dfp (還有一些列,如Product_IDProduct_Name等)

一些品牌名稱是 NaN,因為多個品牌 ID 以逗號分隔(見圖) 在此處輸入圖片說明

我想用逗號分隔的實際品牌名稱填充這些 NaN。 我有一本參考詞典,可以用於此目的在此處輸入圖片說明

對於缺失值的行,使用 lambda 函數分割值,在字典中匹配並連接:

df = pd.DataFrame({'Brand_ID':['11,12,15','10','15,11'],
                   'Brand_Name':[np.nan, 'aaa', np.nan]})


x = {'11':'ww', '12':'oup','15':'ret'}
m = df['Brand_Name'].isna()
f = lambda y: ','.join(x[z] for z in y.split(',') if z in x)
df.loc[m, 'Brand_Name'] = df.loc[m, 'Brand_ID'].apply(f)

print (df)
   Brand_ID  Brand_Name
0  11,12,15  ww,oup,ret
1        10         aaa
2     15,11      ret,ww

暫無
暫無

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

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