1.np.set_printoptions()用法总结

概述

np.set_printoptions()用于控制Python中小数的显示精度
用法
np.set_printoptions(precision=None, threshold=None, linewidth=None, suppress=None, formatter=None)

1.precision:控制输出结果的精度(即小数点后的位数),默认值为8
2.threshold:当数组元素总数过大时,设置显示的数字位数,其余用省略号代替(当数组元素总数大于设置值,控制输出值得个数为6个,当数组元素小于或者等于设置值得时候,全部显示),当设置值为sys.maxsize(需要导入sys库),则会输出所有元素
3.linewidth:每行字符的数目,其余的数值会换到下一行
4.suppress:小数是否需要以科学计数法的形式输出
5.formatter:自定义输出规则
图片.png

2.fig = plt.figure(figsize=(a, b), dpi=dpi)

matplotlib 中设置图形大小的语句如下:

fig = plt.figure(figsize=(a, b), dpi=dpi)

其中:
figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸

3.np.exp()

图片.png

4.np.c_ 的用法

np.c_ 用于连接两个矩阵
np.c 中的c 是 column(列)的缩写,就是按列叠加两个矩阵,就是把两个矩阵左右组合,要求行数相等。
图片.png
图片.png

5.plt.subplots()

在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个Axes对象。每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。所属关系如下:
图片.png
图片.png
参数

nrows,ncols:

子图的行列数。
sharex, sharey:

设置为 True 或者 ‘all’ 时,所有子图共享 x 轴或者 y 轴,
设置为 False or ‘none’ 时,所有子图的 x,y 轴均为独立,
设置为 ‘row’ 时,每一行的子图会共享 x 或者 y 轴,
设置为 ‘col’ 时,每一列的子图会共享 x 或者 y 轴。
squeeze:

默认为 True,是设置返回的子图对象的数组格式。
当为 False 时,不论返回的子图是只有一个还是只有一行,都会用二维数组格式返回他的对象。
当为 True 时,如果设置的子图是(nrows=ncols=1),即子图只有一个,则返回的子图对象是一个标量的形式,如果子图有(N×1)或者(1×N)个,则返回的子图对象是一个一维数组的格式,如果是(N×M)则是返回二位格式。
subplot_kw:

字典格式,传递给 add_subplot() ,用于创建子图。
gridspec_kw:

字典格式,传递给 GridSpec 的构造函数,用于创建子图所摆放的网格。
class matplotlib.gridspec.GridSpec(nrows, ncols, figure=None, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None, width_ratios=None, height_ratios=None)
如,设置 gridspec_kw={‘height_ratios’: [3, 1]} 则子图在列上的分布比例是3比1。
**fig_kw :

所有其他关键字参数都传递给 figure()调用。
如,设置 figsize=(21, 12) ,则设置了图像大小。

返回值
fig: matplotlib.figure.Figure 对象
ax:子图对象( matplotlib.axes.Axes)或者是他的数组

6.reshape()函数

·reshape()函数的功能是改变数组或矩阵的形状
·a.reshape(m,n)表示将原有数组a转化为一个m行n列的新数组,a自身不变。m与n的乘积等于数组中的元素总数
·reshape(m,n)中参数m或n其中一个可写为"-1","-1"的作用在于计算机根据原数组中的元素总数自动计算行或列的值。
例:那么问题来了reshape(-1,1)是什么意思呢?难道有-1行?
这里-1是指未设定行数,程序随机分配,所以这里-1表示任一正整数
所以reshape(-1,1)表示(任意行,1列)
图片.png

7.Matplotlib作图

1.先定义图片的规格,这里定义图片共一行,每行一张图片,以及图片的尺寸
fig,ax = plt.subplots(1,1,figsize=(5,3))
2.这里给图表传入数据(z,sigmoid(z))ax为一个横纵坐标对象
plot_data(X, y, ax)
3.设置两坐标轴的最大值和最小值,坐标范围
ax.axis([0, 4, 0, 3.5])
4.设置x轴的标题为x_1
ax.set_ylabel('$x_1$')
5.设置y轴的标题为x_2
ax.set_xlabel('$x_0$')
6.绘制出该图表
plt.show()

8.Matplotlib中的fill_between()函数总结

最近在处理数据的时候,需要从数据集合中选出数据来作为训练集,不同的筛选规则得到的数据块的分布一样,所以就想查看一下选取了那些数据块,比如将选中的数据换一种颜色来表示,但是数据如果比较多的话,就不太能看的出来了,所以如果将选中的数据块以柱状的形式框出来就好了,这个时候我看到了fill_between()函数,但是网上关于这个函数的博客都写的不太明白,所以我自己研究了一下,将其总结如下:

  1. 生成测试数据
    图片.png
  2. 曲线覆盖
    图片.png
    可以看到,我用了这个函数的几个参数:
    x:第一个参数表示覆盖的区域,我直接复制为x,表示整个x都覆盖
    0:表示覆盖的下限
    y:表示覆盖的上限是y这个曲线
    facecolor:覆盖区域的颜色
    alpha:覆盖区域的透明度[0,1],其值越大,表示越不透明
  3. 部分区域覆盖
    我将x改为x[2:15],y改成了0.2,0.6,这样它就在x轴的2——14,y轴的0.2——0.6画出了这样一个矩形
    图片.png
  4. 两曲线之间的部分填充
    把下限换成y1,上限换成y2,在整个x轴上进行填充,这样就可以实现将两条曲线之间的部分进行填充。
    图片.png
  5. 我想实现的数据高亮功能
    只需要循环填充你想要填充的部分,设置填充的上下限,就可以实现这个功能了!
    图片.png

    9.np.random.seed()函数

    np.random.seed()函数用于生成指定随机数。

seed()被设置了之后,np,random.random()可以按顺序产生一组固定的数组,如果使用相同的seed()值,则每次生成的随机数都相同,如果不设置这个值,那么每次生成的随机数不同。但是,只在调用的时候seed()一下并不能使生成的随机数相同,需要每次调用都seed()一下,表示种子相同,从而生成的随机数相同。
图片.png
由此可知,只在调用的时候seed()一下并不能使生成的随机数相同,故有:
图片.png


RUSH
1 声望1 粉丝