Python库numpy之二
NumPy数组创建函数
一维数组创建函数
numpy.geomspace
numpy.geomspace产生在对数刻度上均匀分布的数字(几何级数)序列。
词法:numpy.geomspace(start, stop, num=50, endpoint=True, dtype=None, axis=0)
变量说明
-
start,该参数类型是类数组
序列的起始值。 -
stop,该参数类型是类数组
如果endpoint不是False,则stop是列的结束值。
在endpoint不是False的情况下,序列不包括最后一个num + 1样本。当endpoint为 False 时,步长会发生变化。 -
num,该参数类型是int, 是可选的
要生成的样本数。默认值为 50。必须为非负数。 -
endpoint,该参数类型是bool, 是可选的
如果endpoint为True,则stop是最后一个样本。否则,stop不包括在内。默认为 True。 -
dtype,该参数类型是dtype
dtype指定输出数组的类型。如果未给出 dtype,则从参数start和stop推断数据类型。推断的 dtype 永远不会是整数;即使参数会生成整数数组,也会选择 float。 -
axis,该参数类型是int, 是可选的
结果中用于存储样本的轴。仅当参数start或stop是类数组时,才相关。默认情况下 (0),样本将沿着新轴插入。使用 -1 获得末端的轴。
应用例子
下列程序使用numpy.geomspace,产生两组对数数组,为了直观看到数据的对数性质,使用matploylib库显示该数据序列。
import matplotlib.pyplot as plt
import numpy as np
if __name__ == "__main__":
a1 = np.linspace(1, 100, num=10)
a2 = np.geomspace(1, 100, num=10, endpoint=False)
a3 = np.geomspace(70, 1, num=10, endpoint=False)
print("a1 type: {0}, size: {1}, values: {2}".format(type(a1), a1.size, a1))
print("a2 type: {0}, size: {1}, values: {2}".format(type(a2), a2.size, a2))
print("a3 type: {0}, size: {1}, values: {2}".format(type(a3), a3.size, a3))
plt.plot(a1, a2)
plt.plot(a1, a3, linestyle="-.", color="red")
plt.show()
C:\>python numpy_3.py
a1 type: <class 'numpy.ndarray'>, size: 10, values: [ 1. 12. 23. 34. 45. 56. 67. 78. 89. 100.]
a2 type: <class 'numpy.ndarray'>, size: 10, values: [ 1. 1.58489319 2.51188643 3.98107171 6.30957344 10.
15.84893192 25.11886432 39.81071706 63.09573445]
a3 type: <class 'numpy.ndarray'>, size: 10, values: [70. 45.77077183 29.92805078 19.56899976 12.79554605 8.36660027
5.4706536 3.57708625 2.33894284 1.52936027]
numpy.logspace
numpy.geomspace产生在对数刻度上均匀分布的数字序列。
词法:numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)
变量说明
-
start,该参数类型是类数组
参数start是序列的起始值。 -
stop,该参数类型是类数组
如果endpoint不是False,则stop是列的结束值。
在endpoint不是False的情况下,序列不包括最后一个num + 1样本。当endpoint为 False 时,步长会发生变化。 -
num,该参数类型是int, 是可选的
要生成的样本数。默认值为 50。必须为非负数。 -
endpoint,该参数类型是bool, 是可选的
如果endpoint为True,则stop是最后一个样本。否则,stop不包括在内。默认为 True。 -
base,该参数类型是类数组, 是可选的
日志空间的基础。 ln(samples) / ln(base) (或 log_base(samples))中元素之间的步长是统一的。默认值为 10.0。 -
dtype,该参数类型是dtype
dtype指定输出数组的类型。如果未给出 dtype,则从参数start和stop推断数据类型。推断的 dtype 永远不会是整数;即使参数会生成整数数组,也会选择 float。 -
axis,该参数类型是int, 是可选的
结果中用于存储样本的轴。仅当参数start,stop,或base是类数组时,才相关。默认情况下 (0),样本将沿着新轴插入。使用 -1 获得末端的轴。
应用例子
import matplotlib.pyplot as plt
import numpy as np
if __name__ == "__main__":
a1 = np.linspace(2.0, 3.0, num=8)
a2 = np.logspace(2.0, 3.0, num=8, base=9.0)
a3 = np.logspace(2.0, 3.0, num=8, base=10.0)
a4 = np.logspace(2.0, 3.0, num=4, base=[2.0, 3.0], axis=-1)
print("a1 type: {0}, size: {1}, values: {2}".format(type(a1), a1.size, a1))
print("a2 type: {0}, size: {1}, values: {2}".format(type(a2), a2.size, a2))
print(a3)
plt.plot(a1, a2, linestyle="-.", color="red")
plt.plot(a1, a3, linestyle="--", color="green")
plt.show()
C:\>python numpy_4.py
a1 type: <class 'numpy.ndarray'>, size: 8, values: [2. 2.14285714 2.28571429 2.42857143 2.57142857 2.71428571
2.85714286 3. ]
a2 type: <class 'numpy.ndarray'>, size: 8, values: [ 81. 110.86778664 151.74896437 207.70459018 284.2931875
389.12291919 532.60736766 729. ]
[ 100. 138.94954944 193.06977289 268.26957953 372.75937203
517.94746792 719.685673 1000. ]
标签:endpoint,Python,numpy,stop,之二,a1,type,size
From: https://blog.csdn.net/IT_Beijing_BIT/article/details/142867587