周一啦,工作使我快乐使我开心,这一期的Python学习教程想跟大家讲一下Numpy系列,创建数组的三大绝招,绝招哈,都传授给你们啦! 创建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个技巧,所谓来日方长,后面如果接触到的未提及的方法,再来详细聊聊。更多的Python学习教程也会继续为大家更新哦! |
|
来自: 千锋Python学堂 > 《Python基础教程分享》