前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python第二十七课:NumPy更多创建数组方法

Python第二十七课:NumPy更多创建数组方法

作者头像
HuangWeiAI
发布2019-07-30 15:54:03
4570
发布2019-07-30 15:54:03
举报
文章被收录于专栏:浊酒清味浊酒清味浊酒清味

我们之前学习了手动建立和利用特殊函数Numpy.zeros以及Numpy.ones来创建数组。这节课我们提供更多的方法,让大家可以创建自己想要的数组。

01从其他数据类型转换

我们在讲列表和Numpy数组很像的时候,告诉大家一种讲列表转换成Numpy数组的方法。其实Numpy里面有一个函数,叫asarray可以不仅可以将列表转换成Numpy数组 ,还可以将元组转换成Numpy数组。

我们建立了一个列表a和一个元组b,分别用np.array和np.asarray来转换.其实在将列表和元组转换成numpy数组的时候效果是一样的。也就是说不论是从列表a出发得到的a_1和a_2还是从元组b出发得到的b_1和b_2都是numpy数组[1,2,3]:

但是,他们二者还是有区别的,当数据源是ndarray,即numpy数组的时候,array会复制出一个副本,占用新的内存,但是asarray并不会。从这里看来,对一般的程序任务,我们并不太需要区分array和asarray,除非做大型数据的时候。

02数值范围创建之arrange

很多情况下我们非常想要得到从一个整数到另一个整数的一个数组,比如周一到周日,一天中从1点到24点等,还有从-10度到40度的温度范围。这时候用NumPy中的arange函数就可以帮助你达成这个目标。

arange函数有四个输入参数来调整:start,stop, step, dtype。不难看出来,分别是起始值,终止值,步长(默认是1),还有数据类型。值得注意的是,这里的终止值是取不到的,所以真正意义上而言终止值是(stop-1).

我们一共建立了四个数组,第一个我们只有一个参数,是终止值参数,这时候其他参数都是默认的。第二个数组,我们给定了起始值和终止值。第三个数组我们增加了步长。第四个数组,我们隐藏的其实是步长,也就是取默认值1。大家在看答案之前可以猜一下a,b,c,d分别是多少。

03数值范围创建之linspace

除了用arange函数创建一个数值范围数组,还有一个函数叫linspace也可以做到。linspace其实可以看成linear space的缩写,线性空间。如果大家觉得不好理解,就把它当成一个等差数列就可以。

和arange稍有不同的是,linspace的参数更多,而且没有步长,相反它有个叫做num的参数来控制生成数列的总数目。也就是说,在给定起始值和终止值的时候,步长被总数目决定了。

我们把linspace格式写出来 np.linspace(start, stop, num=50, endpoint = True, retstep = Flase, dtype = None)。你会发现有些地方有等于号,有些地方没有,有等于号的地方就是设定默认值。其中endpoint是调节终止值是否被包含在数组中,默认是包含的。retstep是一个是否显示生成数组间距的参数。

我们分别利用linspace建立了三个数组,第一个我们默认终止值是包含在内的,第二个我们去掉了终止值,最后我们显示数列的间距。

运行结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浊酒清味 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档