有些小伙伴刚学Python时,不知道如何在numpy中创建空数组,今天一起来学学吧。
在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row:
>>> import numpy >>> a = numpy.zeros(shape=(5,2)) >>> a array([[ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.]]) >>> a[0] = [1,2] >>> a[1] = [2,3] >>> a array([[ 1., 2.], [ 2., 3.], [ 0., 0.], [ 0., 0.], [ 0., 0.]])
NumPy数组与列表是一个非常不同的数据结构,它被设计用于不同的方式。 你对 hstack的使用可能非常低效。 每次调用它时,现有数组中的所有数据都将复制到新数组中。 (append 函数会有同样的问题。) 如果你想一次构建一个矩阵,最好把它放在一个列表中,直到它完成,然后将它转换成数组。
mylist = [] for item in data: mylist.append(item) mat = numpy.array(mylist)
item 可以是列表,数组或者任何 iterable,只要每个 item 具有相同数量的元素。
在这种特殊情况下,你可以简单地使用( data 是一些保存矩阵列的iterable )
mat = numpy.array(data)
注意,使用 list 作为变量名可能不是好做法,因为它通过该名称屏蔽内置类型,这可能导致Bug。
相信很多小伙伴已经动手试验了~更多Python学习推荐:起源地模板网教学中心。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!