Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

squeeze works on 0 length arrays #11230

Closed
wants to merge 1 commit into from

Conversation

max-sixty
Copy link
Contributor

fixes: #11229.
fixes: #8999.

Also a better implementation that avoids ix

Should I add to What's new for 0.17? Or is that closed now?

@@ -1717,6 +1717,10 @@ def test_squeeze(self):
p4d = tm.makePanel4D().reindex(labels=['label1'],items=['ItemA'])
tm.assert_frame_equal(p4d.squeeze(),p4d.ix['label1','ItemA'])

# don't fail with 0 length dimensions
empty=pd.DataFrame(pd.np.empty(shape=(0,1)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test with all shapes here (series.frame,etc)

furthermore this should preserve name

@sinhrks sinhrks added Bug Reshaping Concat, Merge/Join, Stack/Unstack, Explode labels Oct 3, 2015
@max-sixty
Copy link
Contributor Author

@jreback tests added

@max-sixty
Copy link
Contributor Author

What should the behavior be here:

empty_series=pd.Series([], name='five').squeeze()

numpy returns itself:

In [18]: pd.np.empty(0)
Out[18]: array([], dtype=float64)

In [19]: pd.np.empty(0).squeeze()
Out[19]: array([], dtype=float64)

...which is the current pandas implementation too.
But I could see None being acceptable here

@jreback
Copy link
Contributor

jreback commented Oct 3, 2015

no squeeze does not return a scalar always a Series (or high dim)

@max-sixty
Copy link
Contributor Author

OK @jreback, test added for that too

@TomAugspurger
Copy link
Contributor

Also closes #8999

@jreback jreback added this to the 0.17.1 milestone Oct 3, 2015
@jreback
Copy link
Contributor

jreback commented Oct 3, 2015

their is a whatsnew for 0.17.1 pls add a release note.

@max-sixty
Copy link
Contributor Author

@jreback what's new added, commits squashed, ready to go from this end

@@ -42,3 +42,5 @@ Performance Improvements

Bug Fixes
~~~~~~~~~

- Bug in `squeeze` with zero length arrays (:issue:`11230`) & (:issue:`8999`)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use double-backtickers (and say .squeeze())

list issues like: (:issue: 11230, :issue:8999)

@max-sixty
Copy link
Contributor Author

@jreback done!

@jreback
Copy link
Contributor

jreback commented Oct 9, 2015

merged via aa94ae4

thanks!

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Reshaping Concat, Merge/Join, Stack/Unstack, Explode
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Squeeze fails on zero length arrays DOC: Surprising behavior on DataFrame.squeeze() with 0 or 1 col/row
4 participants