把DataFrame中'Min.Price', 'Max.Price'缺失的值用该列的均值填充
现有数据如下:
df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')
数据如下:
![](https://img.haomeiwen.com/i16485689/b5edc4c13e7191dc.png)
把'Min.Price', 'Max.Price'缺失的值用该列的均值填充
解决方法如下:
df_out = df[['Min.Price', 'Max.Price']] = df[['Min.Price', 'Max.Price']].apply(lambda x: x.fillna(x.mean()))
df_out
![](https://img.haomeiwen.com/i16485689/b8737a758dab80e8.png)
把DataFrame中'Min.Price', 'Max.Price'缺失的值用该列的均值, 中位数填充
现有数据如下:
df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')
数据如下:
![](https://img.haomeiwen.com/i16485689/b5edc4c13e7191dc.png)
把'Min.Price', 'Max.Price'缺失的值用该列的均值,中位数填充
解决方法如下:
d = {'Min.Price': np.nanmean, 'Max.Price': np.nanmedian}
df[['Min.Price', 'Max.Price']] = df[['Min.Price', 'Max.Price']].apply(lambda x, d : x.fillna(d[x.name](x)), args=(d, ))
df
![](https://img.haomeiwen.com/i16485689/9a7dec7a63c7e0ce.png)
重点解读:
df[['Min.Price', 'Max.Price']].apply(lambda x, d : x.fillna(dx.name), args=(d, ))appley中,可以通过args参数传递全局变量,本例中传递的是d,注意传递是元组,所以别忘了后面的“,”。
网友评论