如何在NumPy中创建空数组矩阵?python建⽴空的ndarray
在添加⾏的情况下,你最好的选择是创建⼀个与数据集最终⼀样⼤的数组,然后向它添加数据 row-by-row:
>>> import numpy
>>> a = s(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.],
numpy教程 pdf[ 2., 3.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.]])
次佳解决⽅案
NumPy数组是⼀个与列表⾮常不同的数据结构,它被设计为以不同的⽅式使⽤。您对hstack的使⽤可能⾮常低效......每当您调⽤它时,现有数组中的所有数据都将被复制到⼀个新的数据中。 (append函数将有相同的问题。)如果您想⼀次构建您的只有⼀个列的矩阵,最好将它保存在列表中,直到它完成,然后才转换为⼀个数组。
例如
mylist = []
for item in data:
mylist.append(item)
mat = numpy.array(mylist)
item可以是⼀个列表,⼀个数组或任何可迭代的结构,只要每个item具有相同数量的元素。在这个特定的情况下(data是⼀些迭代持有矩阵列),你可以简单地使⽤
mat = numpy.array(data)
(还要注意,使⽤list作为变量名可能不是⼀个好的做法,因为它掩盖了内置类型的名称,这可能会导致错误。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论