如何创建一个NumPy 1D-数组,在一个区间内有等距的数字
有时,我们需要制作不同类型的数组,如AP(等距数列)、GP(指数间隔数列)或HP(倒数间隔数列)来解决各种问题,特别是在解决一些科学或天文问题时,以减少计算量。当涉及到预先实现的代码时,Python是最好的语言之一,几乎每次都出现在那里,以处理速度为代价。
NumPy有一个内置的方法叫range(),它能够创建一个给定的整数类型的数组(以字节为单位),数字之间有相等的间距。
语法: arange([start,] stop[, step,][, dtype])
参数:
- 开始。这是一个默认参数。元素的第一个数字的值,这个参数的默认值是0。
- stop: 这不是一个默认参数。例如,如果你希望最后一个元素是8,你应该给停止值为9或更多,这取决于你希望数组中两个连续数字之间的差异。
- step:这也是一个默认参数。这个数字将是数组中两个连续元素之间的差。step的默认值是1。
- dtype。这也是一个默认参数。这是NumPy中数字的数据类型,为了简单起见,它是一个以np.int开头的数字(以2为幂),例如,np.int8, np.int16, np.int32。
该函数将根据用户的需求返回一个数组。让我们看看它的一些例子。
例子1:创建一个简单的数组,从0开始到一个给定的数字
import numpy as np
# Here, the array has only one parameter,
# and that is the open ended limit of
# last number of the array
myArray = np.arange(8)
print(myArray)
输出:
[0 1 2 3 4 5 6 7]
例子2:创建一个简单的数组,从一个给定的数字开始到另一个数字。
import numpy as np
# This line has two parameters
# The first one is the closed and beginning limit
# The second one is the open and end limit
mySecondArray = np.arange(1, 6)
print(mySecondArray)
输出:
[1 2 3 4 5]
例子3:创建一个数组,从一个给定的数字到另一个给定区间的数字。
import numpy as np
# This line has two parameters
# The first one is the closed and beginning limit
# The second one is the open and end limit
# The third one is the steps(difference between
# two elements in the array)
myThirdArray = np.arange(2, 12, 2)
print(myThirdArray)
输出:
[ 2 4 6 8 10]
例子4:我们特别是在要处理图像或其他一些计算的情况下使用dtype。
import numpy as np
# This line has two parameters
# The first one is the closed and beginning limit
# The second one is the open and end limit
# The third one is the steps(difference between
# two elements in the array)
myForthArray = np.arange(5, 101, 10, np.int32)
print(myForthArray)
输出:
[ 5 15 25 35 45 55 65 75 85 95]