pivot_table not displaying values columns in expected order
See original GitHub issueCode Sample, a copy-pastable example if possible
# Your code here
column_order = ['Year', 'Month', 'Currency', 'Total Net', 'Fees']
df_fills = df_fills.reindex_axis(column_order, axis = 1)
pd.pivot_table(df_fills, values = ['Total Net', 'Fees'], index = ['Year', 'Month'],
columns = ['Currency'], aggfunc = np.sum, margins = True, fill_value = 0)
Problem description
When creating the dataframe, Fees column comes first (it’s from an external data set), while Total Net comes second (it’s calculated). I reordered them using reindex_axis and when asking Python to show the dataframe, I get the expected order. However, when creating a pivot table, Fees always comes first, no matter what.
Expected Output
pivot_table should display columns of values in the order entered in the function.
Output of pd.show_versions()
pandas: 0.20.2 pytest: 3.0.7 pip: 9.0.1 setuptools: 27.2.0 Cython: 0.25.2 numpy: 1.12.1 scipy: 0.19.0 xarray: None IPython: 5.3.0 sphinx: 1.5.6 patsy: 0.4.1 dateutil: 2.6.0 pytz: 2017.2 blosc: None bottleneck: 1.2.1 tables: 3.3.0 numexpr: 2.6.2 feather: None matplotlib: 2.0.2 openpyxl: 2.4.7 xlrd: 1.0.0 xlwt: 1.2.0 xlsxwriter: 0.9.6 lxml: 3.7.3 bs4: 4.6.0 html5lib: 0.999 sqlalchemy: 1.1.9 pymysql: None psycopg2: None jinja2: 2.9.6 s3fs: None pandas_gbq: None pandas_datareader: None
Issue Analytics
- State:
- Created 6 years ago
- Comments:25 (8 by maintainers)
Top GitHub Comments
Create a re-index for your pivot data. See my example below.
After further investigation with other column names, I have determined that the default behavior of pivot_table() is to display the contents of the value parameter in alphabetical order. I will look into making a code contribution to allow for user-defined sorting.