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.        ]

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值