Google Colab运行房价均值Z检验代码报float不可下标错误求解
问题排查结论
- 该报错和
ztest函数本身无关,核心原因是你在Colab环境中调用代码时,sample变量的类型不是你预期的Pandas DataFrame,而是被意外赋值为了浮点数。浮点数不支持[key]形式的下标取值操作,执行sample['SalePrice']时就会触发该报错。 - 你可以在运行检验代码前增加一行
print(type(sample))验证变量类型,如果输出为<class 'float'>即可确认该问题。
常见触发场景
- 读取
sample对应数据的代码块未正常执行:比如Colab中加载本地/云端数据时路径错误、权限不足,导致数据读取失败,sample被赋值为浮点型的错误返回值。 - 变量名被后续代码覆盖:你在Colab的其他代码块中使用了
sample作为变量名存储了浮点型的计算结果,把原本的DataFrame变量覆盖了。
验证方案
你可以将ztest的第一个入参替换为测试用的数值列表,比如:
Z_Score,p_value = ztest([112000, 98000, 125000, 105000, 132000],value=null_mean,alternative='larger')
如果该代码可以正常运行,即可完全确认是sample变量类型异常导致的问题,重新加载正确的DataFrame数据到sample变量即可解决。
内容的提问来源于stack exchange,提问作者arfan rifqi
相关产品推荐
相关产品推荐

