Skip to content

Commit 1f91721

Browse files
committed
fixup! ENH: .squeeze accepts axis parameter
1 parent cc018c9 commit 1f91721

File tree

1 file changed

+5
-22
lines changed

1 file changed

+5
-22
lines changed

pandas/core/generic.py

+5-22
Original file line numberDiff line numberDiff line change
@@ -537,33 +537,16 @@ def squeeze(self, axis=None):
537537
538538
Parameters
539539
----------
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.
544542
545543
.. versionadded:: 0.20.0
546544
"""
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.axes if axis is None else (self._get_axis(axis),)
563546
try:
564547
return self.iloc[
565-
tuple([0 if len(a) == 1 and i in axis else slice(None)
566-
for i, a in enumerate(self.axes)])]
548+
tuple([0 if a in axis and len(a) == 1 else slice(None)
549+
for a in self.axes])]
567550
except:
568551
return self
569552

0 commit comments

Comments
 (0)