多年来,我一直在使用jupyter笔记本进行原型制作和测试,然后再将其放入要导入的模块中。但是,在进行此项目时,有多次相同的代码在jupyter和导入的纯python文件中的行为不同。最新的示例是:
我正在使用scikit-learn的OneHotEncoder的自定义包装器将熊猫数据帧编码为机器学习管道的预处理步骤。这是我的纯python文件中的函数
def fit(data):
encoder = Encoder()
prepared = encoder.prep(data)
encoded_data = encoder.fit_transform(prepared)
encoder.fit_onehot(encoded_data)
导入此代码并运行它时,我得到错误消息
ValueError:无法将字符串转换为浮点数:“ AL”
但是,当我使用完全相同的数据框在jupyterlab笔记本中运行此代码时
encoder = Encoder()
prepared = encoder.prep(data)
encoded_data = encoder.fit_transform(prepared)
encoder.fit_onehot(encoded_data)
一切正常。
我无法弄清楚到底是什么问题,因为我无法在测试场(jupyter)中复制此行为。
其他信息: