In this article, we will see the Pivot Tables in Pandas. Let’s discuss some concepts:
Pandas : Pandas is an open-source library that is built on top of the NumPy library. It is a Python package that offers various data structures and operations for manipulating numerical data and time series. It is mainly popular for importing and analyzing data much easier. Pandas is fast and it has high-performance & productivity for users.
Pivot Tables: A pivot table is a table of statistics that summarizes the data of a more extensive table (such as from a database, spreadsheet, or business intelligence program). This summary might include sums, averages, or other statistics, which the pivot table groups together in a meaningful way.
Steps Needed
- Import Library (Pandas)
- Import / Load / Create data.
- Use Pandas.pivot_table() method with different variants.
Here, we will discuss some variants of pivot table over the dataframe shown below :
Python3
import pandas as pd
df = pd.DataFrame({ 'ID' : { 0 : 23 , 1 : 43 , 2 : 12 ,
3 : 13 , 4 : 67 , 5 : 89 ,
6 : 90 , 7 : 56 , 8 : 34 },
'Name' : { 0 : 'Ram' , 1 : 'Deep' , 2 : 'Yash' ,
3 : 'Aman' , 4 : 'Arjun' , 5 : 'Aditya' ,
6 : 'Akash' , 7 : 'Chalsea' ,
8 : 'Divya' },
'Marks' : { 0 : 89 , 1 : 97 , 2 : 45 ,
3 : 78 , 4 : 56 , 5 : 76 ,
6 : 81 , 7 : 87 , 8 : 100 },
'Grade' : { 0 : 'B' , 1 : 'A' , 2 : 'F' ,
3 : 'C' , 4 : 'E' , 5 : 'C' ,
6 : 'B' , 7 : 'B' , 8 : 'A' }})
display(df)
|
Output:
Example 1: Simple use of pivot_table() method.
Python3
import pandas as pd
df = pd.DataFrame({ 'ID' : { 0 : 23 , 1 : 43 , 2 : 12 ,
3 : 13 , 4 : 67 , 5 : 89 ,
6 : 90 , 7 : 56 , 8 : 34 },
'Name' : { 0 : 'Ram' , 1 : 'Deep' , 2 : 'Yash' ,
3 : 'Aman' , 4 : 'Arjun' , 5 : 'Aditya' ,
6 : 'Akash' , 7 : 'Chalsea' ,
8 : 'Divya' },
'Marks' : { 0 : 89 , 1 : 97 , 2 : 45 ,
3 : 78 , 4 : 56 , 5 : 76 ,
6 : 81 , 7 : 87 , 8 : 100 },
'Grade' : { 0 : 'B' , 1 : 'A' , 2 : 'F' ,
3 : 'C' , 4 : 'E' , 5 : 'C' ,
6 : 'B' , 7 : 'B' , 8 : 'A' }})
print (pd.pivot_table(df, index = [ "ID" ]))
|
Output :
Example 2: Pivot table with multiple columns indexes.
Python3
import pandas as pd
df = pd.DataFrame({ 'ID' : { 0 : 23 , 1 : 43 , 2 : 12 ,
3 : 13 , 4 : 67 , 5 : 89 ,
6 : 90 , 7 : 56 , 8 : 34 },
'Name' : { 0 : 'Ram' , 1 : 'Deep' , 2 : 'Yash' ,
3 : 'Aman' , 4 : 'Arjun' , 5 : 'Aditya' ,
6 : 'Akash' , 7 : 'Chalsea' ,
8 : 'Divya' },
'Marks' : { 0 : 89 , 1 : 97 , 2 : 45 ,
3 : 78 , 4 : 56 , 5 : 76 ,
6 : 81 , 7 : 87 , 8 : 100 },
'Grade' : { 0 : 'B' , 1 : 'A' , 2 : 'F' ,
3 : 'C' , 4 : 'E' , 5 : 'C' ,
6 : 'B' , 7 : 'B' , 8 : 'A' }})
display(pd.pivot_table(df,
index = [ "ID" , "Name" ]))
|
Output :
Example 3: Pivot table with an aggregate function.
Python3
import pandas as pd
import numpy as np
df = pd.DataFrame({ 'ID' : { 0 : 23 , 1 : 43 , 2 : 12 ,
3 : 13 , 4 : 67 , 5 : 89 ,
6 : 90 , 7 : 56 , 8 : 34 },
'Name' : { 0 : 'Ram' , 1 : 'Deep' ,
2 : 'Yash' , 3 : 'Aman' ,
4 : 'Arjun' , 5 : 'Aditya' ,
6 : 'Akash' , 7 : 'Chalsea' ,
8 : 'Divya' },
'Marks' : { 0 : 89 , 1 : 97 , 2 : 45 ,
3 : 78 , 4 : 56 , 5 : 76 ,
6 : 81 , 7 : 87 , 8 : 100 },
'Grade' : { 0 : 'B' , 1 : 'A' , 2 : 'F' , 3 : 'C' ,
4 : 'E' , 5 : 'C' , 6 : 'B' , 7 : 'B' ,
8 : 'A' }})
display(pd.pivot_table(df,
index = [ "Grade" ],
values = [ "Marks" ],
aggfunc = np.mean))
|
Output :
Last Updated :
11 Dec, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...