如何利用arange方法,获得等差数列一维ndarray数组?
发布于 作者:苏南大叔 来源:程序如此灵动~在特定场景下,arange()
是一个可以快速获得ndarray
类型等差数列一维数组的方式,最大特点是数值有规律,维度是1,成员是等差数列。苏南大叔使用numpy.arange()
的场景,大概率是出于测试的目的,对于获得的ndarray
里的真实数值,并不是太关心。
大家好,这里是苏南大叔的程序如此灵动博客,本文描述如何通过numpy
的arange()
方法,快速获得一个ndarray
对象。测试环境:win10
,python@3.11.0
。
arange
,苏南大叔觉得可能是"a range","一个范围"的意思。
定义ndarray
的方式
正常来说,是通过下面的方式,定义一个ndarray
对象的。参考文章:
import numpy as np
sn = np.array( ["苏","南","大","叔"] )
print(sn)
print(type(sn))
输出:
['苏' '南' '大' '叔']
<class 'numpy.ndarray'>
当要定义的ndarray
的值很多的时候,这样写就比较痛苦了。如果这个时候,这些值恰好是有规律的一系列数值,就可以使用本文的np.arange()
方法来进行生成了。它的限制就是:
- 数值有规律。
- 维度是一。
- 数值是大于等于零的等差数列。
- 可能会出现小数的情况。
numpy.arange([start,]stop[,step][,dtype])
start
默认为零。step
默认为壹。
单一参数【非负】
numpy.arange(stop)
生成从0开始到对应数字的一系列等差数列值,[0,stop)
。stop
小于等于零的话,不报错,只不过生成的是个空数组。
例如:
import numpy as np
sn = np.arange(3)
print( sn ) # [0 1 2]
print( type(sn) ) # <class 'numpy.ndarray'>
print( sn.ndim ) # 1
sn = np.arange(0)
print( sn ) # []
输出:
[0 1 2]
<class 'numpy.ndarray'>
1
[]
两个参数【not非负】
numpy.arange(start, stop)
生成数的范围是[start,stop)
。如果start
大于等于stop
的话,不报错,只不过生成的是个空数组。
例如:
import numpy as np
sn = np.arange(5,8)
print( sn ) # [5 6 7]
print( type(sn) ) # <class 'numpy.ndarray'>
print( sn.ndim ) # 1
sn = np.arange(8,5)
print( sn ) # []
输出:
[5 6 7]
<class 'numpy.ndarray'>
1
[]
三个参数
第三个参数就是step
,默认步长为一,但是设置为小数点也是可以的。但是把step
设置为负数的话,这个方法返回值就是空了,似乎有些不灵光。
numpy.arange(start, stop, step)
测试代码:
import numpy as np
sn = np.arange(1,3,0.5)
print( sn ) # [1. 1.5 2. 2.5]
print( type(sn) ) # <class 'numpy.ndarray'>
print( sn.ndim ) # 1
sn = np.arange(1,5,2) # [1 3]
print( sn )
输出:
[1. 1.5 2. 2.5]
<class 'numpy.ndarray'>
1
[1 3]
四个参数
最后出现的参数就是dtype
,主要可以设置返回值,被区分为浮点数还是整数。看例子说话:
numpy.arange(start, stop, step, dtype)
测试代码:
import numpy as np
sn = np.arange(1,3,0.5,dtype=int)
print( sn ) # [1 1 1 1]
print( type(sn) ) # <class 'numpy.ndarray'>
print( sn.ndim ) # 1
sn = np.arange(1,5,2,dtype=float) # [1. 3.]
print( sn )
输出:
[1 1 1 1]
<class 'numpy.ndarray'>
1
[1. 3.]
可见dtype
不但能够影响数据类型,也依然能够影响数据输出的值。
关于【非负】
只是单一参数的时候,才会有【非负】的概念。多个参数的时候,是可能会出现负数的。代码如下:
import numpy as np
x = np.arange(-5, 5, 2)
print(x)
输出:
[-5 -3 -1 1 3]
结束语
本.arange()
方法获得了一个有规律的一维ndarray
整数数组,后续可以通过.reshape()
操作,重新排列数值并修改维度,敬请期待下一篇reshape
方法的文章。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。