继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Numpy系列:1.创建数组的三大绝招

小伽老师
关注TA
已关注
手记 1
粉丝 1
获赞 1

小伽老师的Numpy教学正式开课
图片描述

—创建Numpy数组的三大绝招—
1.使用函数np.array💯
2.使用便捷的内置函数💯
3.使用随机库函数💯

Numpy库的核心对象便是ndarray数组,又称n维数组。要知道,基础数据的统计、变换等运算都是基于数组对象的,所以对于ndarray的掌握至关重要。而所谓工欲善其事必先利其器,工具我们暂时是搞明白了,至于怎么打造出来,这块得好好讲讲了。本文的主要目的是帮助同学们更好地了解创建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))
f
array([[0., 0., 0., 0.],
 [0., 0., 0., 0.]])

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

g = np.eye(3)
g
array([[1., 0., 0.],
 [0., 1., 0.],
 [0., 0., 1.]])

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

h = np.full((2,2), 3)
h
array([[3, 3],
 [3, 3]])
  1. 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个技巧,所谓来日方长,后面如果接触到的未提及的方法,再来详细聊聊。

**这期的小伽教学就到这里
记得关注哦,支持的请转发、收藏、点个赞!!**😳

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP