python – AttributeError列表对象没有属性添加
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – AttributeError列表对象没有属性添加,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1282字,纯文字阅读大概需要2分钟。
内容图文
Python对我来说是新的,我正在使用python做一些机器学习代码.我的情况是我正在从我的sql读取数据并试图给这个数据一个形状,所以我可以用它来进行MLP训练.
我的代码如下:
connection = mysql.connector.connect(host='localhost', port=3306, user='root', passwd='mysql', db='medicalgame')
cur = connection.cursor()
query = ""
cur.execute(query)
# X_train will be a list of list and later we'll convert it to a numpy ndarray
X_train = []
for row in cur:
X_train.add(row)
connection.close()
X_train should be ready
X_train = np.asarray(X_train)
print 'The shape of X_train is', X_train.shape
在调试期间,我得到的查询结果如下:
(6,1,1,1,2,u’F’,1,0,0,19)
任何人都可以帮助我怎么做,我修复错误并给我的X_train赋予形状,以便MLP接受它作为输入?
解决方法:
信息很清楚. list没有方法添加,因为它是有序的(它有一个dunder __add__方法,但是用于列表之间的添加).你可以插入,但你想追加.所以正确的方法是:
X_train = []
for row in cur:
X_train.append(row)
但是直接转换为列表的首选方式(迭代cur元素以简单且高效的方式创建列表):
X_train = list(cur)
但是你不能这样做,因为你的列表包含虚假数据.幸运的是,您可以在嵌套列表解析中过滤掉它们,如下所示:
X_train = [[x for x in r if type(x)==int] for r in cur]
这将构建您的列表列表,但过滤掉非整数值并将其提供给numpy.asarray yield(使用您的示例数据):
[[ 6 1 1 1 2 1 0 0 19]
[ 6 1 1 1 2 1 0 0 14]]
内容总结
以上是互联网集市为您收集整理的python – AttributeError列表对象没有属性添加全部内容,希望文章能够帮你解决python – AttributeError列表对象没有属性添加所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。