如何在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 。)

以上这篇在NumPy中创建空数组/矩阵的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?