简介: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.]


希望我的文章能对你有所帮助。欢迎

【Numpy】创建数组相关推荐

  1. [转载] 使用python 中的numpy创建数组

    参考链接: Numpy 创建数组 使用nump创建数组的方法: (1)导入numpy模块: import numpy as np 注意:如果是纯python,默认是不安装numpy库的,需要在pyth ...

  2. 使用Numpy创建数组_总结

    引言 本文作者接触NumPy模块时对其中的创建数组的方法一直都是一知半解的状态,有时候在做tensorflow搭建模块时经常会出现特别低级的数组构建错误,而且错误形式千奇百怪,今天终于决定系统地重写认 ...

  3. python利用numpy创建数组(等比,等差,空数组,1数组)

    从菜鸟教程复制过来的, 转载地址:https://www.runoob.com/numpy/numpy-array-creation.html 1.创建未初始化的narray数组 格式如下: nump ...

  4. 第一篇 使用numpy创建数组(一维、多维)

    1.numpy创建一维数组 [ 1] 通过列表生成数组 import numpy as np data1=[5,7,9,20]#列表类型 list arr1=np.array(data1) #ndar ...

  5. 第1关 Numpy创建数组 (educoder

    编程要求 本关的任务是,补全右侧编辑器中 Begin-End 区间的代码,以实现创建一个m*n的多维数组的功能.具体要求如下: 函数接受两个参数,然后创建与之对应的的多维数组: 本关的测试样例参见下文 ...

  6. 第1关:Numpy创建数组

    任务描述 本关的小目标是,使用 Numpy 创建一个多维数组. 相关知识 在 Python 中创建数组有许多的方法,这里我们使用 Numpy 中的arange方法快速的新建一个数组: import n ...

  7. NumPy创建数组的几种方式介绍

    创建数组 创建数组的几种常见机制: numpy 中定义的原生数组创建函数 使用Python中类数组对象创建 numpy 数组 一. numpy 中定义的原生数组创建函数 1. numpy.zeros( ...

  8. numpy 创建数组

    文章目录 数组元素为随机值,因为它们未初始化 数组元素以 0 来填充 数组元素以 1 来填充 arange创建1维数组 .eye创建对角矩阵数组 生成随机整形数组 生成随机浮点型数组 生成服从标准正态 ...

  9. python numpy创建数组方法汇总array() zeros() zeros_like() ones() ones_like() empty() empty_like() arange eyes

    引用文章:numpy数组的创建 20200526 创建全为同一个数的矩阵只需在np.ones()前乘一个数即可

  10. numpy 创建数组

    创建一维数组,full()的第一位是int np.full(3,None) array([ nan, nan, nan]) 创建多维数组,full()的第一位是tuple np.full((3,3), ...

最新文章

  1. java hashtable排序_java中哈希表中有迭代器模式的实现,可以认为其是顺序表吗?...
  2. no.6 _扔鸡蛋问题
  3. 灯塔的出现给那些有想法,有能力而又缺乏资金的社区人士提供了一条途径
  4. 电商场景下,如何处理消费过程中的重复消息?
  5. 北京,一个让屌丝望而却步的城市
  6. virtualbox使用手记
  7. [转载] java clone方法_Java Calendar clone()方法与示例
  8. python库--pandas--Series
  9. 泛微OA漏洞(综合)
  10. Echarts 模拟飞机飞行动态图
  11. Mysql 省市县乡 地址分割
  12. 设置字根,配合rem适配(多尺寸屏幕的适配)
  13. php 文本域,关于使用文本域(TextArea)的一个问题
  14. yum命令 启用仓库_技术|如何列出在 Linux 上已启用/激活的仓库
  15. C语言 母牛生小牛问题 多组测试数据
  16. echart vue
  17. BUMO:BU Firework超级节点实时竞选系统
  18. iphone两个备份合并_iphone数据如何备份?两大iPhone备份方法详解
  19. arduino智能跟随小车
  20. 开启Fluter基础之旅二-------Future再论、常用组件、Material Design风格组件学习

热门文章

  1. 如何将html做成手机壁纸,如何运用html5 canvas将图片保存至手机本地的图库中?...
  2. python stdout_详解使用python的logging模块在stdout输出的两种方法
  3. EasyGUI 详细解读
  4. FB主页被下架,个人账号被封,申诉链接
  5. uni-app input 调用软键盘中的搜索(确认)键
  6. 强网杯 2019]随便注 【SQL注入】四种解法
  7. 用JS获取URL的方法(超级简单)
  8. 新电脑U盘安装Win7过程中卡死(Skylake)
  9. 11个剪辑素材网站,1秒解决你90%的视频剪辑难题
  10. APP软件测试总结,android输入法下载