@@ -537,32 +537,16 @@ def squeeze(self, axis=None):
537
537
538
538
Parameters
539
539
----------
540
- axis : None or int or tuple of ints, optional
541
- Selects a subset of the single-dimensional entries in the
542
- shape. If an axis is selected with shape entry greater than
543
- one, an error is raised.
540
+ axis : None or int, optional
541
+ The axis to squeeze if 1-sized.
544
542
545
543
.. versionadded:: 0.20.0
546
544
"""
547
- if axis is None :
548
- axis = tuple (range (len (self .axes )))
549
- else :
550
- if not is_list_like (axis ):
551
- axis = (axis ,)
552
- if not all (is_integer (ax ) for ax in axis ):
553
- raise TypeError ('an integer is required for the axis' )
554
- n_axes = len (self .axes )
555
- for ax in axis :
556
- if ax < - n_axes or ax >= n_axes :
557
- raise ValueError ("'axis' entry {0} is out of bounds "
558
- "[-{1}, {1})" .format (ax , n_axes ))
559
- if any (len (self .axes [ax ]) != 1 for ax in axis ):
560
- raise ValueError ('cannot select an axis to squeeze out which '
561
- 'has size not equal to one' )
562
-
545
+ axis = (self ._AXIS_NAMES if axis is None else
546
+ (self ._get_axis_number (axis ),))
563
547
try :
564
548
return self .iloc [
565
- tuple ([0 if len (a ) == 1 and i in axis else slice (None )
549
+ tuple ([0 if i in axis and len (a ) == 1 else slice (None )
566
550
for i , a in enumerate (self .axes )])]
567
551
except :
568
552
return self
0 commit comments