Python_Numpy

这篇博客详细介绍了Python的Numpy库,包括linspace、logspace、geomspace等函数的使用,以及meshgrid、mgrid、ogrid在创建坐标矩阵中的应用。还涵盖了对角线操作、多维序列转换和matplotlib.pyplot模块的图表绘制,如曲线、多子图、条形图、直方图和折线图。同时,提供了解决中文乱码问题的方法和学习资源链接。
摘要由CSDN通过智能技术生成

Numpy笔记

numpy.linspace函数

  • 格式: numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
  • 功能: 返回指定间隔内的等间隔数字。
参数 :
start :array_like
序列的起始值。
stop :array_like
序列的最终值,除非将endpoint设置为False。 
在这种情况下,
该序列包含除num + 1个均匀间隔的样本外的所有样本,
因此排除了stop。 请注意,当endpoint为False时,
步长会更改。
num :int, 可选
要生成的样本数。 默认值为50。必须为非负数。
endpoint :bool, 可选
如果为True,则停止是最后一个样本。
 否则,不包括在内。 默认值为True。
retstep :bool, 可选
如果为True,则返回(样本,步进),
其中step是样本之间的间隔。
dtype :dtype, 可选
输出数组的类型。 如果未给出dtype,
则从其他输入参数推断数据类型。 1.9.0版中的新功能。
axis :int, 可选
结果中的轴用于存储样本。 仅当start或stop类似于数组时才相关。
 默认情况下为(0),样本将沿着在开始处插入的新轴。 
使用-1来获得轴的末端。
>>> np.linspace(2.0,3.0,num=5)
array([2.  , 2.25, 2.5 , 2.75, 3.  ])
>>> np.linspace(2.0,3.,num=5,endpoint=False)
array([2. , 2.2, 2.4, 2.6, 2.8])
>>> np.linspace(2.0,3.,num=5,retstep=True)
(array([2.  , 2.25, 2.5 , 2.75, 3.  ]), 0.25)
>>> import matplotlib.pyplot as plt
>>> N = 8
>>> y = np.zeros(N)
>>> x1 = np.linspace(0,10,N,endpoint=True)
>>> x2 = np.linspace(0,10,N,endpoint=False)
>>> plt.plot(x1,y,'o')
[<matplotlib.lines.Line2D object at 0x7f3bb08eff10>]
>>> plt.plot(x2,y+0.5,'o')
[<matplotlib.lines.Line2D object at 0x7f3bb0887250>]
>>> plt.ylim([-0.5,1])
(-0.5, 1.0)
>>> plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jxpGospb-1635302964074)在这里插入图片描述

numpy.logspace函数

  • 格式: numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)
  • 功能: 在对数尺度上返回间隔均匀的数字。
参数 :
start :array_like
base ** start是序列的起始值。
stop :array_like
base ** stop是序列的最终值,除非endpoint 为False。
 在这种情况下,num + 1值在对数空间的间隔内间隔开,
返回除最后一个(长度为num的序列)外的所有值。
num :integer, 可选
要生成的样本数。 默认值为50。
endpoint :boolean, 可选
如果为true,则停止是最后一个样本。 
否则,不包括在内。 默认值为True。
base :float, 可选
日志空间的基础。ln(samples)/ ln(base)
(或log_base(samples))中元素之间的步长是一致的。 
默认值为10.0。
dtype :dtype
输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型。
axis :int, 可选
结果中的轴用于存储样本。 仅当start或stop类似于数组时才相关。 
默认情况下为(0),样本将沿着在开始处插入的新轴。
>>> np.logspace(2.0,3.0,num=4)
array([ 100.        ,  215.443469  ,  464.15888336, 1000.        ])
>>> np.logspace(2.0,3.0,num=4,endpoint=False)
array([100.        , 177.827941  , 316.22776602, 562.34132519])
>>> np.logspace(2.0,3.0,num=4,base=2.0)
array([4.        , 5.0396842 , 6.34960421, 8.        ])
>>> import matplotlib.pyplot as plt
>>> N = 10
>>> x1 = np.logspace(0.1,1,N,endpoint=True)
>>> x2 = np.logspace(0.1,1,N,endpoint=False)
>>> y = np.zeros(N)
>>> plt.plot(x1,y,'o')
[<matplotlib.lines.Line2D object at 0x7f3b94814c10>]
>>> plt.plot(x2,y+0.5,'o')
[<matplotlib.lines.Line2D object at 0x7f3b94814fa0>]
>>> plt.ylim(-0.5,1)
(-0.5, 1.0)
>>> plt.show()

在这里插入图片描述

numpy.geomspace函数

  • 格式: numpy.geomspace(start, stop, num=50, endpoint=True, dtype=None, axis=0)
  • 功能: 返回数字以对数刻度(几何级数)均匀分布。
参数 :
start :array_like
序列的起始值。
stop :array_like
序列的最终值,除非端点为False。 在这种情况下,
num + 1值在对数空间的间隔内间隔开,
返回除最后一个(长度为num的序列)外的所有值。
num :integer, 可选
要生成的样本数。 默认值为50。
endpoint :boolean, 可选
如果为true,则停止是最后一个样本。
 否则,不包括在内。 默认值为True。
dtype :dtype
输出数组的类型。 如果未给出dtype,
则从其他输入参数推断数据类型。
axis :int, 可选
结果中的轴用于存储样本。
 仅当start或stop类似于数组时才相关。
 默认情况下为(0),样本将沿着在开始处插入的新轴。
>>> np.geomspace(1,1000,num=4)
array([   1.,   10.,  100., 1000.])
>>> np.geomspace(1,1000,num=3,endpoint=False)
array([  1.,  10., 100.])
>>> np.geomspace(1,1000,num=4,endpoint=False)
array([  1.        ,   5.62341325,  31.6227766 , 177.827941  ])
>>> np.geomspace(1,256,num=9)
array([  1.,   2.,   4.,   8.,  16.,  32.,  64., 128., 256.])
>>> np.geomspace(1,256,num=9,dtype=int)
array([  1,   2,   4,   7,  16,  32,  63, 127, 256])
>>> np.around(np.geomspace(1,256,num=9)).astype(int)
array([  1,   2,   4,   8,  16,  32,  64, 128, 256])
>>> np.geomspace(1000,1,num=4)
array([1000.,  100.,   10.,    1.])
>>> np.geomspace(-1000,-1,num=4)
array([-1000.,  -100.,   -10.,    -1.])
>>> np.geomspace(1j,1000j,num=4)
array([0.   +1.j, 0.  +10.j, 0. +100.j, 0.+1000.j])
>>> np.geomspace(-1+0j,1+0j,num=5)
array([-1.00000000e+00+0.j        , -7.07106781e-01+0.70710678j,
        6.12323400e-17+1.j        ,  7.07106781e-01+0.70710678j,
        1.00000000e+00+0.j        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值