简介:NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。 本文主要介绍一下数组创建的几种方法。
目录
1.numpy.array()
2.numpy.empty()
3.numpy.zeros()
4.numpy.ones()
5.numpy.frombuffer
6.numpy.fromiter()
通过Numpy的内置函数array()可以创建ndarray对象,其语法格式如下:
numpy.array(object,dtype=None,copy=True,order=None,ndmin=0)
下面对其参数做说明:
请看下面示例:
创建一维数组:
创建多维数组:
numpy.empty()创建未初始化的数组,语法格式如下:
numpy.empty(shape,dtype=float,order="c")
下面对其参数做说明:
请看下面示例:
可以看到,numpy.empty()返回的数组带有随机值,但这些数值并没有实际意义。切记,empty并非创建空数组。
该函数用来创建元素均为0的数组,语法格式如下:
numpy.zeros(shape,dtype=float,order="c")
请看示例:
返回指定形状大小与数据类型的新数组,并且新数组中每项元素均为1,语法格式如下:
numpy.ones(shape,dtype=None,order='c')
示例如下:
下面介绍如何使用 Python 列表、流对象、可迭代对象来创建一个 NumPy 数组。
5.numpy.asarray()
asarray()与array类似,但比array()更简单,asarray能够将python的一个序列转化为数组,语法格式如下:
numpy.asarray(sequence,dtype=None,order=None)
示例1:将列表转化为数组
示例2:将元组转化为数组
示例3:使用镶嵌列表创建多维数组
表示使用指定的缓冲区创建数组。下面给出了该函数的语法格式:
numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)
它的参数说明如下所示:
示例如下:
import numpy as np
#字节串类型
l = b'hello world'
print(type(l))
a = np.frombuffer(l, dtype = "S1")
print(a)
print(type(a))
输出结果如下:
[b'h' b'e' b'l' b'l' b'o' b' ' b'w' b'o' b'r' b'l' b'd']
该方法可以把迭代对象转换为 ndarray 数组,其返回值是一个一维数组。
numpy.fromiter(iterable, dtype, count = -1)
参数说明如下:
参数名称 | 描述说明 |
---|---|
iterable | 可迭代对象。 |
dtype | 返回数组的数据类型。 |
count | 读取的数据数量,默认为 -1,读取所有数据。 |
示例5:使用内置 range() 函数创建列表对象,然后使用迭代器创建 ndarray 对象,代码如下:
import numpy as np
# 使用 range 函数创建列表对象
list=range(6)
#生成可迭代对象i
i=iter(list)
#使用i迭代器,通过fromiter方法创建ndarray
array=np.fromiter(i, dtype=float)
print(array)
输出结果:
[0. 1. 2. 3. 4. 5.]
希望我的文章能对你有所帮助。欢迎点赞 ,评论,关注,⭐️收藏