【Numpy】创建数组

本文详细介绍了NumPy库中创建数组的六种方法:numpy.array()、numpy.empty()、numpy.zeros()、numpy.ones()、numpy.frombuffer以及numpy.fromiter()。每个方法的语法、参数说明及示例代码均有提供,帮助读者理解如何在Python中高效地创建和操作数组。
摘要由CSDN通过智能技术生成

 简介:NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。 本文主要介绍一下数组创建的几种方法。 

目录

1.numpy.array()

2.numpy.empty() 

3.numpy.zeros()

 4.numpy.ones()

 5.numpy.frombuffer

 6.numpy.fromiter()


1.numpy.array()

通过Numpy的内置函数array()可以创建ndarray对象,其语法格式如下:

numpy.array(object,dtype=None,copy=True,order=None,ndmin=0)

下面对其参数做说明:

  • object:表示一个数组序列
  • dtype:  通过它可以更改数组的数据类型,可以自填参数
  • copy:   表示数组能否被复制,默认值为True
  • order:   以哪种内存布局创建数组,有 3 个可选值,分别是 C(行序列)/F(列序列)/A(默认)
  • ndmin:  用于指定数组的维度 

请看下面示例:

创建一维数组:

 

 创建多维数组:

2.numpy.empty() 

 numpy.empty()创建未初始化的数组,语法格式如下:

numpy.empty(shape,dtype=float,order="c")

下面对其参数做说明:

  • shape:指定数组的形状
  • dtype:数组元素的数据类型,可指定。默认值是“float”
  • order:指数组元素在内存中的存储顺序,默认顺序是行优先顺序

请看下面示例: 

 

 可以看到,numpy.empty()返回的数组带有随机值,但这些数值并没有实际意义。切记,empty并非创建空数组。

3.numpy.zeros()

该函数用来创建元素均为0的数组,语法格式如下:

numpy.zeros(shape,dtype=float,order="c")

 请看示例:

 4.numpy.ones()

返回指定形状大小与数据类型的新数组,并且新数组中每项元素均为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)

  • sequence:接受一个 Python 序列,可以是列表或者元组; 

示例1:将列表转化为数组

 示例2:将元组转化为数组

 

示例3:使用镶嵌列表创建多维数组 

 5.numpy.frombuffer

表示使用指定的缓冲区创建数组。下面给出了该函数的语法格式:

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

它的参数说明如下所示:

  • buffer:将任意对象转换为流的形式读入缓冲区;
  • dtype:返回数组的数据类型,默认是 float32;
  • 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))
输出结果如下:
<class 'bytes'>
[b'h' b'e' b'l' b'l' b'o' b' ' b'w' b'o' b'r' b'l' b'd']
<class 'numpy.ndarray'>

 6.numpy.fromiter()

该方法可以把迭代对象转换为 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.]


希望我的文章能对你有所帮助。欢迎👍点赞 ,📝评论,🌟关注,⭐️收藏

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李思雨.lsy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值