Pandas: Construct a series using the MultiIndex levels
12. Construct Series Using MultiIndex Levels as Column and Index
Write a Pandas program to construct a series using the MultiIndex levels as the column and index.
Sample Solution:
Python Code :
import pandas as pd
import numpy as np
sales_arrays = [['sale1', 'sale1', 'sale2', 'sale2', 'sale3', 'sale3', 'sale4', 'sale4'],
['city1', 'city2', 'city1', 'city2', 'city1', 'city2', 'city1', 'city2']]
sales_tuples = list(zip(*sales_arrays))
print("Create a MultiIndex:")
sales_index = pd.MultiIndex.from_tuples(sales_tuples, names=['sale', 'city'])
print(sales_tuples)
print("\nConstruct a series using the said MultiIndex levels: ")
s = pd.Series(np.random.randn(8), index = sales_index)
print(s)
Sample Output:
Create a MultiIndex: [('sale1', 'city1'), ('sale1', 'city2'), ('sale2', 'city1'), ('sale2', 'city2'), ('sale3', 'city1'), ('sale3', 'city2'), ('sale4', 'city1'), ('sale4', 'city2')] Construct a series using the said MultiIndex levels: sale city sale1 city1 -1.533805 city2 -1.546815 sale2 city1 0.018307 city2 -0.210834 sale3 city1 0.903430 city2 1.269479 sale4 city1 -0.550486 city2 1.738659 dtype: float64
For more Practice: Solve these Related Problems:
- Write a Pandas program to construct a Series from a DataFrame’s MultiIndex levels and then display the Series with the levels as its index.
- Write a Pandas program to extract one level of a MultiIndex and then create a Series with this level as both the index and the values.
- Write a Pandas program to use two levels of a MultiIndex as the Series index and then sort the Series by these levels.
- Write a Pandas program to flatten a MultiIndex into a Series where the combined levels serve as the index labels.
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Next: Write a Pandas program to construct a DataFrame using the MultiIndex levels as the column and index.What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.