【Numpy库学习】numpy.squeeze()函数

    xiaoxiao2022-07-14  146

    numpy.squeeze()函数

    语法:numpy.squeeze(a,axis = None)

     1)a表示输入的数组; 2)axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错; 3)axis的取值可为None 或 int 或 tuple of ints, 可选。若axis为空,则删除所有单维度的条目; 4)返回值:数组 5) 不会修改原数组;

    作用:从数组的形状中删除单维度条目,即把shape中为1的维度去掉

    引用:https://docs.scipy.org/doc/numpy/reference/generated/numpy.squeeze.html

    场景:在机器学习和深度学习中,通常算法的结果是可以表示向量的数组(即包含两对或以上的方括号形式[[]]),如果直接利用这个数组进行画图可能显示界面为空(见后面的示例)。我们可以利用squeeze()函数将表示向量的数组转换为秩为1的数组,这样利用matplotlib库函数画图时,就可以正常的显示结果了。

    例1

    #例1 import numpy as np a = np.arange(10).reshape(1,10) a

                 

    a.shape

               

    b = np.squeeze(a) b

             

    b.shape

              

    例2

           例3

         结论:根据上述例1~3可知,np.squeeze()函数可以删除数组形状中的单维度条目,即把shape中为1的维度去掉,但是对非单维的维度不起作用。

    例4

    例5

    例6

    例7

    例8:matplotlib画图示例

    例8:

    补充一下:

     1、Python isinstance() 函数    https://www.runoob.com/python/python-func-isinstance.html

    描述:

    isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

    isinstance() 与 type() 区别:

    type() 不会认为子类是一种父类类型,不考虑继承关系。

    isinstance() 会认为子类是一种父类类型,考虑继承关系。

    如果要判断两个类型是否相同推荐使用 isinstance()。

    语法:

    以下是 isinstance() 方法的语法:

    isinstance(object, classinfo)

    2、Matplotlib中%matplotlib inline是什么、如何使用?  https://blog.csdn.net/liangzuojiayi/article/details/78183783

    注意:既然是IPython的内置magic函数,那么在Pycharm中是不会支持的。

    总结:%matplotlib inline 可以在Ipython编译器里直接使用,功能是可以内嵌绘图,并且可以省略掉plt.show()这一步。

    最新回复(0)