Python机器学习(三十九)基于数值区间创建数组

NumPy中,可以通过指定数值范围创建ndarray数组。

numpy.arange

要使用指定区间均匀分布的数值创建数组,可以使用arange函数。

语法如下所示:

numpy.arange(start, stop, step, dtype)  

参数:

  • start: 区间开始值。默认值是0。
  • stop: 区间结束值(此值不包含在内)。
  • step: 区间步长。
  • dtype: 数组元素的数据类型。

示例

import numpy as np  
arr = np.arange(0,10,2,float)  
print(arr) 

输出

[0. 2. 4. 6. 8.]

示例

import numpy as np  
arr = np.arange(10,100,5,int)  
print("给定范围内的数组为 ",arr)  

输出

给定范围内的数组为  [10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95]

numpy.linspace

linspace函数作用类似arange()函数,使用指定区间均匀分布的数值创建数组。但是,这个函数不指定步长,而是指定区间之间的取值数量。

语法如下所示:

numpy.linspace(start, stop, num, endpoint, retstep, dtype)   

参数:

  • start: 区间开始值。默认值是0。
  • stop: 区间结束值。
  • num: 区间内均匀分布的数值数量。默认值是50。
  • endpoint: 如果为true,表示结束值包含在内;false,结束值不包含。默认为true。
  • retstep: 如果为true,返回步长信息。
  • dtype: 数组元素的数据类型。

示例

import numpy as np  
arr = np.linspace(10, 20, 5)  
print("给定范围内的数组为 ",arr) 

输出

给定范围内的数组为  [10.  12.5 15.  17.5 20. ]

示例

import numpy as np  
arr = np.linspace(10, 20, 5, endpoint = False, retstep = True)  
print("给定范围内的数组为 ",arr)  

输出

给定范围内的数组为  (array([10., 12., 14., 16., 18.]), 2.0)
返回步长值:2.0

numpy.logspace

logspace函数使用对数区间上均匀分布的数值,创建ndarray数组。

语法如下所示:

numpy.logspace(start, stop, num, endpoint, base, dtype) 

参数:

  • start: 区间开始值。取值base^start,例如: start = 2, base = 10,取值 10^2 = 100
  • stop: 区间结束值。取值base^start,例如: stop = 5, base = 10,取值 10^5 = 100000
  • num: 区间内的取值数量。默认50
  • endpoint: 如果为true,表示结束值包含在内;false,结束值不包含。默认为true。
  • base: 对数的基数,默认为10。
  • dtype: 数组元素的数据类型。

示例

import numpy as np  
arr = np.logspace(10, 20, num = 5, endpoint = True)  
print("给定范围内的数组为 ",arr) 

输出

给定范围内的数组为  [1.00000000e+10 3.16227766e+12 1.00000000e+15 3.16227766e+17
 1.00000000e+20]

示例

import numpy as np  
arr = np.logspace(10, 20, num = 5,base = 2, endpoint = True)  
print("给定范围内的数组为 ",arr)  

输出

给定范围内的数组为  [1.02400000e+03 5.79261875e+03 3.27680000e+04 1.85363800e+05
 1.04857600e+06]
原文地址:https://www.cnblogs.com/huanghanyu/p/13161588.html