我有一个包含多列的df
。
df = pd.DataFrame({'Store':['M1','M2','M3','M1','M1','M2','M2','M3','M3'],
'Category':['A','A','A','B','B','B','C','C','C'],
'Price_Category':[np.nan,X,np.nan,np.nan,Y,Y,Z,np.nan,Z]})
我该如何使用众数填充Price_Category
中的NaN
,只基于Category
?
我尝试过使用以下代码:
df['Price_Category'] = df.groupby('Category')['Price_Category'].apply(lambda x: x.fillna(x.mode()[0]))
但我遇到了这个错误:KeyError:0
其他我尝试的方法是用Store
中的名称来填充NaN
。
感谢您的帮助!