Numpy中创建数组的9种方式小结
作者:Dream丶Killer 发布时间:2021-03-25 21:39:43
标签:Numpy,数组
1、使用empty方法创建数组
该方式可以创建一个空数组,dtype
可以指定随机数的类型,否则随机采用一种类型生成随机数。
import numpy as np
dt = np.numpy([2, 2], dtype=int)
2、使用array创建数组
使用array
方法可以基于Python
列表创建数组,在不设置dtype
的情况下,从列表中自动推断数据类型。
import numpy as np
dt = np.array([1, 2, 3, 4, 5])
print('数组:', dt)
print('数据类型:', dt.dtype)
dt = np.array([1, 2, 3, 4, 5], dtype='f8') # 64位浮点数
print('数组:', dt)
print('数据类型:', dt.dtype)
3、使用zeros/ones创建数组
调用zeros/ones
方法会创建一个全为‘0’/‘1’值的数组,通常在数组元素位置,大小一致的情况下来生成临时数组。‘0’/‘1’充当占位符。
import numpy as np
dt = np.zeros([3, 5], dtype=int)
print('数组:', dt)
print('数据类型:', dt.dtype)
dt = np.ones([5, 3], dtype=float)
print('数组:', dt)
print('数据类型:', dt.dtype)
4、使用arange创建数组
使用arange
方法可以基于一个数据范围来创建数组。
import numpy as np
dt = np.arange(10, 30, 5)
print('数组:', dt)
print('数据类型:', dt.dtype)
5、使用linspace创建数组
linspace
是基于一个范围来构造数组,参数num
是开始值和结束值之间需要创建多少个数值。retstep
会改变计算的输出,返回一个元组,而元组的两个元素分别是需要生成的数组和数组的步差值。
import numpy as np
dt = np.linspace(20, 30, num=5)
print('数组:', dt)
print('数据类型:', dt.dtype)
dt = np.linspace(20, 30, num=5, endpoint=False)
print('数组:', dt)
print('数据类型:', dt.dtype)
dt = np.linspace(20, 30, num=5, retstep=True)
print('元组:', dt)
6、使用numpy.random.rand创建数组
很多情况下手动创建的数组往往不能满足业务需求,因此需要创建随机数组。
import numpy as np
dt = np.random.rand(10)
print('数组:', dt)
print('数据类型:', dt.dtype)
7、使用numpy.random.randn创建数组
numpy.random.randn
方法也是产生随机数组的一种方式,并且它能产生符合正态分布的随机数。
import numpy as np
dt = np.random.randn(3, 5)
print('数组:', dt)
print('数据类型:', dt.dtype)
8、使用numpy.random.randint创建数组
在10和30之间产生随机数,并从中取5个数值来构建数组。
import numpy as np
dt = np.random.randint(10, 30, 5)
print('数组:', dt)
print('数据类型:', dt.dtype)
9、使用fromfunction创建数组
fromfunction
方法可以通过一个函数规则来创建数组。该方法中shape
参数制定了创建数组的规则,shape=(4,5)
,最终创建的结果就是4行5列的二维数组。
import numpy as np
dt = np.fromfunction(lambda i, j:i + j, (4, 5), dtype=int)
print('数组:', dt)
print('数据类型:', dt.dtype)
来源:https://blog.csdn.net/qq_43965708/article/details/114288345


猜你喜欢
- 本文介绍了Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录,分享给大家,具体如下:Python 2.7I
- 本文实例讲述了Oracle删除死锁进程的方法。分享给大家供大家参考。具体如下:步骤1:用以下SQL查看进程列表,判断出被锁定的表SELECT
- 前言本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能。示例图如上图,我们
- 1.最基本的作为一个本本分分的函数声明使用。 function func(){} 或 var func=function(){}; 2.作为
- 这是一份来自网络的代码,经过了我的修改和验证。 首先我的运行环境是Python3.7,需要安装PyUserInput库。直接上代码
- 存储过程的优缺点: 存储过程优点: 1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProce
- 写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品。从网页http://mm.taobao.com/j
- 前言本文主要给大家介绍了关于python中用Future对象异步返回结果的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的
- 区别CHAR与VARCHAR类型类似,但它们保存和检索的方式不同。CHAR有固定的长度,而VARCHAR属于可变长的字符类型。它们最大长度和
- 在多线程中使用lock可以让多个线程在共享资源的时候不会“乱”,例如,创建多个线程,每个线程都往空列
- 本文实例为大家分享了python实现最速下降法的具体代码,供大家参考,具体内容如下代码:from sympy import *import
- 前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升
- 本文实例讲述了python判断远程端口是否打开的方法。分享给大家供大家参考。具体实现方法如下:import socketsk = socke
- 今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片。该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧。
- 1、涉及到图的对比会用到子图形式展示,先看看效果2、绘制代码如下accuracy_alexnet_clef = [78.05, 78.43,
- 修改models效果如下class EmailVerifyRecord(models.Model): code = models
- 前言golang不允许循环import package ,如果检测到 import cycle ,会在编译时报错,通常import cycl
- 最近在使用echarts做报表需求,二次生成报表时数据合并,无法正确显示。第一次渲染:第二次渲染:可以看到这里的echarts项的serie
- 我就废话不多说了,还是直接看代码吧!a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1]b = ['
- 随着MySQL数据库存储的数据逐渐变大,已经将原来的存储数据的空间占满了,导致mysql已经链接不上了。因此,必须要给存放的数据换个地方了。