当前位置: 代码迷 >> 综合 >> 【Numpy库学习】numpy.squeeze()函数
  详细解决方案

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

热度:63   发布时间:2023-11-25 04:51:14.0

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 npa  = 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()这一步。