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

sort_values not implemented for Panel #15960

Closed
pepicello opened this issue Apr 9, 2017 · 2 comments · Fixed by #16532
Closed

sort_values not implemented for Panel #15960

pepicello opened this issue Apr 9, 2017 · 2 comments · Fixed by #16532
Labels
Milestone

Comments

@pepicello
Copy link
Contributor

Code Sample, a copy-pastable example if possible

import pandas as pd
pd.Panel(np.random.randn(2, 5, 4), items=['Item1', 'Item2']).sort_values(by=0)

---------------------------------------------------------------------------
AbstractMethodError                       Traceback (most recent call last)
<ipython-input-16-f14e23e389bd> in <module>()
      1 import pandas as pd
----> 2 pd.Panel(np.random.randn(2, 5, 4), items=['Item1', 'Item2']).sort_values(by=0)

/home/gpepe/software/anaconda3/envs/science/lib/python3.6/site-packages/pandas/core/generic.py in sort_values(self, by, axis, ascending, inplace, kind, na_position)
   2010     def sort_values(self, by, axis=0, ascending=True, inplace=False,
   2011                     kind='quicksort', na_position='last'):
-> 2012         raise AbstractMethodError(self)
   2013 
   2014     _shared_docs['sort_index'] = """

AbstractMethodError: This method must be defined in the concrete class of Panel

Problem description

It seems like the sort_values() method is not implemented in Panels, but it is not clear from the raised error message. There seems to be a page on this in the API reference: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Panel.sort_values.html. i would find it highly useful to have such a method.

Expected Output

Sorted panel

Output of pd.show_versions()

INSTALLED VERSIONS

commit: None
python: 3.6.0.final.0
python-bits: 64
OS: Linux
OS-release: 3.16.0-4-amd64
machine: x86_64
processor:
byteorder: little
LC_ALL: None
LANG: en_GB.utf8
LOCALE: en_GB.UTF-8

pandas: 0.19.2
nose: 1.3.7
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.25.2
numpy: 1.11.3
scipy: 0.18.1
statsmodels: 0.6.1
xarray: None
IPython: 5.1.0
sphinx: 1.5.1
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2016.10
blosc: None
bottleneck: 1.2.0
tables: 3.3.0
numexpr: 2.6.1
matplotlib: 2.0.0
openpyxl: 2.4.1
xlrd: 1.0.0
xlwt: 1.2.0
xlsxwriter: 0.9.6
lxml: 3.7.2
bs4: 4.5.3
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.1.5
pymysql: None
psycopg2: None
jinja2: 2.9.4
boto: 2.45.0
pandas_datareader: None

@jorisvandenbossche jorisvandenbossche changed the title Panel sort_values not implemented for Panel Apr 10, 2017
@jorisvandenbossche
Copy link
Member

@pepicello Thanks for the report. You are correct it is not the best error message, although it indicates that the method does not defined. The doc page should better reflect that (PR welcome to update that!).

Note that Panels will be deprecated (#13563, merged in master, will be in the upcoming 0.20 releases), so we probably are not going to expand its functionality.

@pepicello
Copy link
Contributor Author

Thanks @jorisvandenbossche, I have created a very simple PR, which should do in the meantime while the Panel still exists in the codebase. I tried to imitate the behaviour for similar methods. Shame to see the Panel going, but I agree that it is better to focus on perfecting the 1D and 2D versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants