- 此问题在此处已有答案**:
Pandas: filling missing values by mean in each group(12个答案)
3天前关闭。
很难理解为什么apply函数在这里不起作用,我试图用相应质量等级的平均销售价格(OverallQual)来填充SalePrice的空值
我期望函数遍历每一行,并返回相应OverallQual特性的平均SalePrice,其中SalePrice为空,否则返回原始SalePrice。
sale_price_by_qual = df.groupby('OverallQual').mean()['SalePrice']
def fill_sales_price(SalePrice, OverallQual):
if np.isnan(SalePrice):
return sale_price_by_qual[SalePrice]
else:
return SalePrice
df[SalePrice] = df.apply(lambda x: fill_sales_price(x['SalePrice], x['OverallQaul]), axis=1)
密钥错误:nan
2条答案
按热度按时间sr4lhrrt1#
你能不能把平均值保存到一个变量中然后执行.fillna()?
x =平均值
yqyhoc1h2#
试试这个