在NumPy中创建空数组/矩阵的方法

yipeiwu_com6年前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 。)

以上这篇在NumPy中创建空数组/矩阵的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python元组拆包和具名元组解析实例详解

前言 在Python中元组是一个相较于其他语言比较特别的一个内置序列类型。有些python入门教程把元组成为“不可变的列表”,这种说法是不完备的,其并没有完整的概括元组的特点。除了用作不...

Python3处理文件中每个词的方法

本文实例讲述了Python3处理文件中每个词的方法。分享给大家供大家参考。具体实现方法如下: ''''' Created on Dec 21, 2012 处理文件中的每个词 @...

用Pygal绘制直方图代码示例

用Pygal绘制直方图代码示例

Pygal可用来生成可缩放的矢量图形文件,对于需要在尺寸不同的屏幕上显示的图表,这很有用,可以自动缩放,自适应观看者的屏幕 1、Pygal模块安装 pygal的安装这里暂不介绍,大家可参...

简单学习Python time模块

本文针对Python time模块进行分类学习,希望对大家的学习有所帮助。 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪元开始的秒数,返回值为浮点数,具...

Python:Numpy 求平均向量的实例

如下所示: >>> import numpy as np >>> a = np.array([[1, 2, 3], [3, 1, 2]]) >...