CDA考试专区 加入小组

703个成员 393个话题 创建时间:2017-12-06

在使用线性回归预测客户价值时,月消费额有缺失数据,下面哪个python代码片段对其使用均值填补操作?

发表于02-06 402次查看

在使用线性回归预测客户价值时,月消费额有缺失数据,下面哪个python代码片段对其使用均值填补操作?

A.    data_raw['avg_exp']=data_raw['avg_exp'].fillna(value=data_raw['avg_exp'].median())

B.    data_raw['avg_exp'].replace(np.nan, data_raw['avg_exp'].mean(), inplace=True)

C.    data_raw.avg_exp = data_raw.avg_exp.fillna(data_raw.avg_exp.mode()[0])

D.    data_raw.loc[:,'avg_exp']=data_raw['avg_exp'].apply(lambda x: x.fillna(x.mean()))
参考答案: B
解析:A选项错误,因为它使用了中位数(median)而不是平均值(mean)来填充缺失值。
B选项正确,它等效于题干中的代码,使用了平均值(mean)来填充缺失值,而且也使用了inplace=True来直接在原数据上进行修改。
C选项错误,因为它使用了众数(mode)而不是平均值(mean)来填充缺失值。
D选项错误,因为apply方法并不是用来填充缺失值的,且该选项中的lambda函数使用错误,应该是在对每个元素应用函数,而不是整个Series的平均值。此外,x.fillna(x.mean())中的x应该是一个元素值,而不是一个Series对象。

发表回复
你还没有登录,请先 登录或 注册!
话题作者
一站式数据科学在线教育平台