Create a dataframe with a variable of dtype category and then convert to a panel

# A dataframe with a category variable
df = pd.DataFrame({ 'day' : [1,2,3], 'month' : ['a','b','c'], 'dow' : ['mon','mon','thur' ]})
df = df.set_index(['day','month'])
df.dow = df.dow.astype('category')

# Transform to panel and check the dtype
df.to_panel().dtypes
#### Expected Output
dow    category
dtype: object

Output of pd.show_versions()

## INSTALLED VERSIONS commit: None python: 3.5.2.final.0 python-bits: 64 OS: Darwin OS-release: 15.6.0 machine: x86_64 processor: i386 byteorder: little LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 pandas: 0.18.1 nose: 1.3.7 pip: 8.1.2 setuptools: 23.0.0 Cython: 0.24 numpy: 1.11.1 scipy: 0.17.1 statsmodels: 0.6.1 xarray: None IPython: 4.2.0 sphinx: 1.4.1 patsy: 0.4.1 dateutil: 2.5.3 pytz: 2016.4 blosc: None bottleneck: 1.1.0 tables: 3.2.2 numexpr: 2.6.0 matplotlib: 1.5.1 openpyxl: 2.3.2 xlrd: 1.0.0 xlwt: 1.1.2 xlsxwriter: 0.9.2 lxml: 3.6.0 bs4: 4.4.1 html5lib: None httplib2: None apiclient: None sqlalchemy: 1.0.13 pymysql: None psycopg2: None jinja2: 2.8 boto: 2.40.0 pandas_datareader: None # The variable was converted from a category to an object when put into a panel dow object dtype: object

Comment From: jorisvandenbossche

Yes, categoricals are currently limited to 1D data (https://github.com/pandas-dev/pandas/issues/8709), and therefore not very well supported in panels.

Given that we are not going to develop Panels any further (see https://github.com/pandas-dev/pandas/issues/13563), this is probably a "won't fix"

Comment From: jreback

yep, this is not likely to be implemented.

Comment From: tonymowers

Thanks for the response. I'll make a point of leaning on the Panel object less and it also tells me there are probably good alternatives to using Panels in most situations.