question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

pivot_table not displaying values columns in expected order

See original GitHub issue

Code 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()

# Paste the output here pd.show_versions() here INSTALLED VERSIONS ------------------ commit: None python: 2.7.13.final.0 python-bits: 64 OS: Darwin OS-release: 16.7.0 machine: x86_64 processor: i386 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: None.None

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:closed
  • Created 6 years ago
  • Comments:25 (8 by maintainers)

github_iconTop GitHub Comments

10reactions
princeinzioncommented, May 5, 2019

import pandas as pd

tuples_list = [(“John”, “Foo”, 47, 173), (“Michael”, “Bar”, 33, 182)] df = pd.DataFrame(tuples_list, columns=[“firstname”, “lastname”, “age”, “height”]) print(df.pivot_table(index=[“firstname”, “lastname”], values=[“age”, “height”])) print(df.pivot_table(index=[“firstname”, “lastname”], values=[“height”, “age”]))

Create a re-index for your pivot data. See my example below.

import pandas as pd

tuples_list = [("John", "Foo", 47, 173), ("Michael", "Bar", 33, 182)]
df = pd.DataFrame(tuples_list, columns=["firstname", "lastname", "age", "height"])
my_report = df.pivot_table(index=["firstname", "lastname"], values=["age", "height"])

new_order= ["height", "age"]
my_report = my_report.reindex(new_order, axis=1)
my_report
4reactions
ericbhansoncommented, Jul 24, 2017

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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Pivot table not showing all data- which one was your issue?
00:00 Pivot Table missing some data you expected to see00:17 Check that Pivot tables are up to date (refresh it)00:34 Copy Paste Pivot...
Read more >
Excel Pivot Table Sorting Problems - Contextures Blog
Great tip! Any chance anyone has figured out how to sort a pivot table column that shows the value as a % of...
Read more >
Pivot Sort Not Working as Expected - Excel Help Forum
I am not able to sort the pivot table by a date field (Finish Date). I have tried: 1) click the column and...
Read more >
Top 3 Excel Pivot Table Issues Resolved - MyExcelOnline
Well, there are three reasons why Pivot Table not counting correctly: 1. There are blank cells in your values column within your data...
Read more >
Pivot Table Sorting Fixes & Tips - Contextures
Fix the Report Filter Sort Order · Drag the Product field into the Rows area, above any other row fields. · Right-click a...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found