当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy.squeeze()用法及代码示例


当我们要从数组形状中删除一维条目时,将使用numpy.squeeze()函数。

用法: numpy.squeeze(arr, axis=None )

参数:
arr :[数组]输入数组。
axis :[无,整数或整数元组,可选]选择形状中一维条目的子集。如果选择的形状输入大于一个的轴,则会引发错误。


Return :
squeezed[ndarray]输入数组,但删除了长度为1的全部或部分维。这始终是其本身或对arr的看法。

代码1:

# Python program explaining 
# numpy.squeeze function 
  
import numpy as geek 
  
in_arr = geek.array([[[2, 2, 2], [2, 2, 2]]]) 
   
print ("Input array:", in_arr)  
print("Shape of input array:", in_arr.shape)   
  
out_arr = geek.squeeze(in_arr)  
  
print ("output squeezed array:", out_arr) 
print("Shape of output array:", out_arr.shape) 

输出:

Input array: [[[2 2 2]
  [2 2 2]]]
Shape of input array: (1, 2, 3)
output squeezed array: [[2 2 2]
 [2 2 2]]
Shape of output array: (2, 3)


代码2:

# Python program explaining 
# numpy.squeeze function 
import numpy as geek 
in_arr = geek.arange(9).reshape(1, 3, 3)  
  
print ("Input array:", in_arr)   
out_arr = geek.squeeze(in_arr, axis = 0)  
  
print ("output array:", out_arr)   
print("The shapes of Input and Output array:")  
  
print(in_arr.shape, out_arr.shape)

输出:

Input array: [[[0 1 2]
  [3 4 5]
  [6 7 8]]]
output array: [[0 1 2]
 [3 4 5]
 [6 7 8]]
The shapes of Input and Output array:
(1, 3, 3) (3, 3)

注意:

ValueError:
If axis is not None, and an axis being squeezed is not of length 1.


代码3:

# Python program explaining 
# numpy.squeeze function 
# when value error occurs 
import numpy as geek 
  
in_arr = geek.arange(9).reshape(1, 3, 3)  
  
print ("Input array:", in_arr)   
out_arr = geek.squeeze(in_arr, axis = 1)  
  
print ("output array:", out_arr)   
print("The shapes of Input and Output array:") 
   
print(in_arr.shape, out_arr.shape)

输出:

ValueError                                Traceback (most recent call last)
 in ()
      5 
      6 print ("Input array:", in_arr)
----> 7 out_arr = geek.squeeze(in_arr, axis=1)
      8 print ("output array:", out_arr)
      9 print("The shapes of Input and Output array:")

~\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py in squeeze(a, axis)
   1196     try:
   1197         # First try to use the new axis= parameter
-> 1198         return squeeze(axis=axis)
   1199     except TypeError:
   1200         # For backwards compatibility

ValueError:cannot select an axis to squeeze out which has size not equal to one


相关用法


注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 numpy.squeeze() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。