如何解决Python通过argv从数据进行预测类型错误
我尝试通过以下方式预测数据:
joblib_model_mlp.predict(sc.transform(np.array([data])))
我的数据是:data = sys.argv[1]
我将此列表作为参数传递:
python script.py [3,2554,51,49,853,1,4,2,8,11,2501,3,0 ,3,3]
但我回来了:
ValueError:无法将字符串转换为float: '[3,2, 0,3]'
如果我在脚本中进行设置,那么所有内容也都可以正常工作。
data = [3,3]
我不知道该如何解决。
解决方法
鉴于您提供的示例,sys.argv[1]
不是list
而是str
实例。
您可以使用builtin json
module将代表str
的{{1}}解析为list
实例。
请参见下面的示例。
list
此处import json
import sys
data = json.loads(sys.argv[1])
将运行时作为第一个参数传递的json.loads(sys.argv[1])
解析为基于this conversion table的适当的Python对象。
考虑到原始问题(str
中提供的示例,返回的对象是Python [3,2554,51,49,853,1,4,2,8,11,2501,3,3]
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。