python创建数组并运行_Python第二十七课:NumPy更多创建数组方法

我们之前学习了手动建立和利用特殊函数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建立了三个数组,第一个我们默认终止值是包含在内的,第二个我们去掉了终止值,最后我们显示数列的间距。

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值