Pythonnumpy库——linspace()的⽤法
我们可以将 linspace() 函数理解成是⽤来创建⼀个等差数列的,或者说将⼀个区间的数值等分成N份,下⾯举个栗⼦:
将 1~10 等分成10份,那么最后的结果是怎样的呢?
1,2,3,4,5,6,7,8,9,10
最后创建出来的就是这样⼀个等差序列;
我们还是⾸先看⼀下函数原型是怎样的:
英⽂好的⾃⼰看,不好的随着我⼀起看下去;我们发现这个函数⼀共有7个参数,除了前两个,其他的
都有初始值了,那么他们分别代表什么意思呢?
start:数据的起始点,即区间的最⼩值
stop:数据的结束点,即区间的最⼤值
num:数据量,可以理解成分割了多少份
endpoint:说明是否包含结束点
retstep:是否给出数据间隔,即如果是True,那么不仅会创建数据序列,在最后还会给出数据间隔是多少
dtype:指定序列的数据类型
axis:其实这个参数我也没搞懂是什么意思,只知道值为0或者-1,对于结果貌似没有什么变化,这个后⾯再补充
接下来我们就通过程序来感受⼀下:
1. 最重要两个参数:start 和 stop
import numpy as np
print(np.linspace(1,10))
# 输出结果:
# [ 1. 1.18367347 1.36734694 1.55102041 1.73469388 1.91836735
# 2.10204082 2.28571429 2.46938776 2.65306122 2.83673469 3.02040816
# 3.20408163 3.3877551 3.57142857 3.75510204 3.93877551 4.12244898
# 4.30612245 4.48979592 4.67346939 4.85714286 5.04081633 5.2244898
# 5.40816327 5.59183673 5.7755102 5.95918367 6.14285714 6.32653061
# 6.51020408 6.69387755 6.87755102 7.06122449 7.24489796 7.42857143
# 7.6122449 7.79591837 7.97959184 8.16326531 8.34693878 8.53061224
# 8.71428571 8.89795918 9.08163265 9.26530612 9.44897959 9.63265306
# 9.81632653 10. ]
我们发现头尾是我们设置的1和10,但是⼀共分了50份,这是因为这个函数 num参数的默认值为50;
2. 设定份数
import numpy as np
print(np.linspace(1,10,10))
print(np.linspace(1,10,num=10))
# 输出结果:
# [ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
我们可以通过 num参数设置数据量,如果是按照参数顺序写下来,可以直接写参数值,如果跳了参数,那么就需要注明属性了,这点就不赘述了;
3. 设置是否包含结束点
import numpy as np
print(np.linspace(1,10,10,endpoint=False))
# 输出结果:
# [1. 1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.2 9.1]
我们发现将endpoint设置为False,stop就不会被包含进去,那么也可以知道,默认情况下,stop是会被包含进去的;
4. 我想要知道序列的间隔是多少怎么办?
import numpy as np
a = np.linspace(1,10,10,retstep=True)
print(a)
# 输出结果:
# (array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]), 1.0)
我们可以看见最后的结果是⼀个元组,元组的第⼀个值即为创建的序列,第⼆个值为序列之间的间隔;
5. 设置⽣成序列的数据类型
import numpy as np
linspace numpyprint(np.linspace(1,10,10,dtype='int'))
print(np.linspace(1,10,10,dtype='str'))
# 输出结果:
# [ 1 2 3 4 5 6 7 8 9 10]
# ['1.0' '2.0' '3.0' '4.0' '5.0' '6.0' '7.0' '8.0' '9.0' '10.0']
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论