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

yipeiwu_com5年前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中表达式x += y和x = x+y 的区别详解

前言 本文主要给大家介绍的是关于Python中表达式x += y和x = x+y 区别的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 直接看下面代码: x +=y In...

Tensorflow中使用tfrecord方式读取数据的方法

Tensorflow中使用tfrecord方式读取数据的方法

前言 本博客默认读者对神经网络与Tensorflow有一定了解,对其中的一些术语不再做具体解释。并且本博客主要以图片数据为例进行介绍,如有错误,敬请斧正。 使用Tensorflow训练神...

Python正则表达式如何进行字符串替换实例

Python正则表达式在使用中会经常应用到字符串替换的代码。有很多人都不知道如何解决这个问题,下面的代码就告诉你其实这个问题无比的简单,希望你有所收获。 1.替换所有匹配的子串用news...

复化梯形求积分实例——用Python进行数值计算

复化梯形求积分实例——用Python进行数值计算

用程序来求积分的方法有很多,这篇文章主要是有关牛顿-科特斯公式。 学过插值算法的同学最容易想到的就是用插值函数代替被积分函数来求积分,但实际上在大部分场景下这是行不通的。 插值函数一般是...

python中MethodType方法介绍与使用示例

前言 本文主要给大家介绍了关于python中MethodType方法的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍吧 示例代码 #!/usr/bin/python...