对DataFrame执行StandardScaler时出现'NoneType' object is not callable错误
问题分析与解决
可能的原因及对应解决方法
变量名冲突
检查代码中是否存在将StandardScaler或fit_transform误赋值为None的情况,比如写过StandardScaler = None这类错误语句,这会导致调用时报NoneType不可调用的异常。如果有,删除这类错误赋值,重新导入StandardScaler即可。DataFrame列数据类型异常
即便没有空值,若列的类型不是数值型(比如object类型),也会引发该错误。执行training_x.dtypes查看每列类型,若存在非数值类型,将其转换为数值型:training_x = training_x.astype(float)scikit-learn版本兼容问题
过旧的scikit-learn版本可能存在参数适配bug,升级到稳定版本:pip install --upgrade scikit-learn
额外代码修正
你后续的transform调用存在参数冗余,StandardScaler.transform仅需传入待转换的数据集,多余的dt参数需要移除:
test_x = s_c.transform(testing_x)
内容的提问来源于stack exchange,提问作者user3588569
相关产品推荐
相关产品推荐

