CDA考试专区 加入小组

713个成员 420个话题 创建时间:2017-12-06

给定下面的Python代码片段,哪个选项正确描述了代码可能存在的问题?

发表于02-06 447次查看

给定下面的Python代码片段,哪个选项正确描述了代码可能存在的问题?
from scipy import stats
# 返回异常值的索引
z = stats.zscore(data_raw['Age'])
z_outlier = (z > 3) | (z < -3)
z_outlier.tolist().index(1)

A.    代码将返回数据集Age列中第一个异常值的索引。

B.    当Age列中没有任何异常值时,代码将抛出一个错误。

C.    代码能够返回所有异常值的索引。

D.    此代码段在使用分位数来识别和处理异常值
参考答案: B
解析:选项A可能不正确,因为代码尝试返回第一个异常值的索引,但这仅在存在至少一个异常值时才是有效的。
选项B是正确的,如果列表中没有任何值是True(即没有值超出3倍的标准差),则index(1)会抛出一个ValueError,因为它找不到值为1(对应于True)的元素。
选项C不正确,因为.index()函数只能返回列表中第一个匹配项的索引。因此,如果存在多个异常值,代码只会返回第一个异常值的索引。

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