The logspace()
method creates an array with evenly spaced numbers on a logarithm scale.
Example
import numpy as np
# create an array with 3 elements between 10^5 and 10^10
array1 = np.logspace(5, 10, 3)
print(array1)
# Output: [1.00000000e+05 3.16227766e+07 1.00000000e+10]
logspace() Syntax
The syntax of logspace()
is:
numpy.logspace(start, stop, num = 50, endpoint = True, base = 10, dtype = None, axis = 0)
logspace() Argument
The logspace()
method takes the following arguments:
start
- the start value of the sequencestop
- the end value of the sequencenum
(optional)- number of samples to generateendpoint
(optional)- specifies whether to include end valuedtype
(optional)- type of output arraybase
(optional)- base of log scaleaxis
(optional)- the axis in the result to store the samples
Notes:
- In linear space, the sequence generated by
logspace()
starts at base ** start (base to the power of start) and ends with base ** stop. - If
dtype
is omitted,logspace()
will determine the type of the array elements from the types of other parameters.
logspace() Return Value
The logspace()
method returns an array of evenly spaced values on a logarithmic scale.
Example 1: Create a 1-D Array Using logspace
import numpy as np
# create an array of 5 elements between 10^2 and 10^3
array1 = np.logspace(2.0, 3.0, num = 5)
print("Array1:", array1)
# create an array of 5 elements between 10^2 and 10^3 without including the endpoint
array2 = np.logspace(2.0, 3.0, num = 5, endpoint = False)
print("Array2:", array2)
# create an array of 5 elements between 2^2 and 2^3
array3 = np.logspace(2.0, 3.0, num = 5, base = 2)
print("Array3:", array3)
Output
Array1: [ 100. 177.827941 316.22776602 562.34132519 1000. ] Array2: [100. 158.48931925 251.18864315 398.10717055 630.95734448] Array3: [4. 4.75682846 5.65685425 6.72717132 8. ]
Example 2: Create an N-d Array Using logspace
Similar to 1D arrays, we can also create N-d arrays using logspace. For this, we can simply pass a sequence to start and stop values instead of integers.
Let us look at an example.
import numpy as np
# create an array of 5 elements between [10^1, 10^2] and [10^5, 10^6]
array1 = np.logspace([1, 2], [5, 6], num=5)
print("Array1:")
print(array1)
# create an array of 5 elements between [1, 2] and [3, 4] along axis 1
array2 = np.logspace([1, 2], [5, 6], num=5, axis=1)
print("Array2:")
print(array2)
Output
Array1: [[1.e+01 1.e+02] [1.e+02 1.e+03] [1.e+03 1.e+04] [1.e+04 1.e+05] [1.e+05 1.e+06]] Array2: [[1.e+01 1.e+02 1.e+03 1.e+04 1.e+05] [1.e+02 1.e+03 1.e+04 1.e+05 1.e+06]]