创建Numpy数组的三种方法

转自:微点阅读 https://www.weidianyuedu.com

创建Numpy数组的三大绝招

1.使用函数np.array

2.使用便捷的内置函数

3.使用随机库函数

Numpy库的核心对象便是ndarray数组,又称n维数组。要知道,基础数据的统计、变换等运算都是基于数组对象的,所以对于ndarray的掌握至关重要。而所谓工欲善其事必先利其器,工具我们暂时是搞明白了,至于怎么打造出来,这块得好好讲讲了。

这篇Python学习教程的主要目的是帮助同学们更好地了解创建Numpy数组的三大绝招。

1.使用np.array()创建

看过我Python学习教程的童鞋们,在“人生苦短,我用Python”的取经之路上,想必都知道list列表,这是Python内置的一种基本数据类型。而ndarray数组便可通过对list的转换来进行创建,只要简单地将Python列表传递给数组函数np.array()即可。

a = np.array([1,2,3])a

array([1, 2, 3])

当然,上例得到的只是一维数组,想要多维的,请将一系列的列表传递给数组函数,但要保证()内部的数据类型是list,这点很重要。

b = np.array([[1, 2, 3], [4, 5, 6]])b

array([[1, 2, 3],[4, 5, 6]])

就这样,我们依次创建了一维数组a与二维数组b,创建ndarray数组的第一招是不是很简单呢,你get到了吗?

2.使用内置函数便捷创建

在Numpy库中,np.array()给我们提供了创建数组的简单方法,让我们卯足了尽头,准备开始揭开Numpy的面纱,大干一场。但突然,一盆冷水泼身上,关键问题来了,如果我们想创建由0到19的数字序列数组,那是不是得一个数字一个数字地敲,创建0到100的呢?创建多维的呢?不敢想象!!!

其实,Numpy库很人性化地为我们提供了非常多的内置函数,用于便捷地创建数组,下面我们来看一看

1.np.arange(),创建递增序列

#创建一个值范围为0到19的数组c = np.arange(20)#arange搭配reshape,创建从0-19的4行5列数组d = np.arange(20).reshape(4,5)d

array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]])

注意:这里要掌握arange()的结构,np.arange(x)为左闭右开结构,数据从0开始,到x-1结束,生成规则递增序列,同时也可以指定arange的3s参数,start、stop与step。

2.np.ones(shape=,dtype=),创建全为1的数组矩阵

e = np.ones((3,4))e

array([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]])

注意:shape为元组格式,dtype可以决定数据类型

3.np.zeros(shape=,dtype=),创建全为0的数组

f = np.zeros((2,4))

array([[0., 0., 0., 0.], [0., 0., 0., 0.]])

4.np.eye(M),创建对角线为1,其余为0 的数组

g = np.eye(3)

array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])

5.np.full(shape=,fill_value=),任意填充数字

h = np.full((2,2), 3)

array([[3, 3], [3, 3]])

np.linspace(start,stop,num),线性区间等分,linspace是左闭右闭

#将0-10区间等分4份i = np.linspace(0, 10, num=4)i

array([ 0., 3.333, 6.666, 10.])

以上的6个简单操作,是不是非常贴心呢,狂敲666有木有,下面豁出去了,再为各位童鞋们们献上最后一招大绝招!

3.使用随机库函数创建

Numpy也提供random模块,来帮助我们去创建随机性的序列,从此生成一组随机数就变得so easy,下面我们就来瞧一瞧。

1.np.random.random(size),生成0-1的随机数,左闭右开,size表示个数,可以是一维、二维或者三维

np.random.random((2,2))

array([[0.31153256 , 0.128392402], [0.023428592, 0.324950205]])

可以看出,生成的数据是集中在0-1的2行2列随机数据。

2.np.random.randint(low=,hight=,size=),生成整数类型的随机数,low最小值,hight最大值,size个数

np.random.int(0,10,3)

array([1 , 5 , 7 ])

3.np.random.randn(size),生成标准正态分布,size个数

代码自己挖掘,敲起来试试看

4.np.random.normal(loc,scale,size),生成非标准正态分布

代码自己挖掘,敲起来试试看呀

对于随机数的创建,姑且掌握这4个技巧,所谓来日方长,后面如果接触到的未提及的方法,再来详细聊聊。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年5月30日
下一篇 2023年5月30日

相关推荐