首页 > 其他 > 详细

pandas 面试题挑战十一

时间:2020-12-04 14:31:28      阅读:18      评论:0      收藏:0      [点我收藏+]

把DataFrame中‘Min.Price‘, ‘Max.Price‘缺失的值用该列的均值填充

现有数据如下:

df = pd.read_csv(https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv)

数据如下:

技术分享图片

 

 把‘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

技术分享图片

 

 

把DataFrame中‘Min.Price‘, ‘Max.Price‘缺失的值用该列的均值, 中位数填充

现有数据如下:

df = pd.read_csv(https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv)

数据如下:

技术分享图片

 

 把‘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

技术分享图片

 

 

重点解读:
df[[Min.Price, Max.Price]].apply(lambda x, d : x.fillna(d[x.name]), args=(d, ))appley中,可以通过args参数传递全局变量,本例中传递的是d,注意传递是元组,所以别忘了后面的“,”。

 

pandas 面试题挑战十一

原文:https://www.cnblogs.com/tracydzf/p/14085141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!