Create a Pivot Table with multiple columns – Python Pandas


We can create a Pivot Table with multiple columns. To create a Pivot Table, use the pandas.pivot_table to create a spreadsheet-style pivot table as a DataFrame.

At first, import the required library −

import pandas as pd

Create a DataFrame with Team records −

dataFrame = pd.DataFrame({'Team ID': {0: 5, 1: 9, 2: 6, 3: 11, 4: 2, 5: 7 },'Team Name': {0: 'India', 1: 'Australia', 2: 'Bangladesh', 3: 'South Africa', 4: 'Sri Lanka', 5: 'England'},'Team Points': {0: 95, 1: 93, 2: 42, 3: 60, 4: 80, 5: 55},'Team Rank': {0: 'One', 1: 'Two', 2: 'Six', 3: 'Four', 4: 'Three', 5: 'Five'}})

Create a Pivot Table with multiple columns. We have set more than more than two columns −

pd.pivot_table(dataFrame, index = ["Team ID", "Team Name", "Team Rank"])

Example

Following is the code −

import pandas as pd

# create DataFrame with Team records
dataFrame = pd.DataFrame({'Team ID': {0: 5, 1: 9, 2: 6, 3: 11, 4: 2, 5: 7 },'Team Name': {0: 'India', 1: 'Australia', 2: 'Bangladesh', 3: 'South Africa', 4: 'Sri Lanka', 5: 'England'},'Team Points': {0: 95, 1: 93, 2: 42, 3: 60, 4: 80, 5: 55},'Team Rank': {0: 'One', 1: 'Two', 2: 'Six', 3: 'Four', 4: 'Three', 5: 'Five'}})

print("\n... Pivot ...")

# multiple columns
print(pd.pivot_table(dataFrame, index = ["Team ID", "Team Name", "Team Rank"]))

Output

This will produce the following output −

... Pivot ...
                                  Team Points
Team ID  Team Name    Team Rank
2        Sri Lanka    Three                80
5        India        One                  95
6        Bangladesh   Six                  42
7        England      Five                 55
9        Australia    Two                  93
11       South Africa Four                 60

Updated on: 22-Sep-2021

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements