w3resource

Pandas: Construct a series using the MultiIndex levels

Pandas Indexing: Exercise-12 with Solution

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

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Pandas program to check if a specified value exists in single and multiple column index dataframe.

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 Python skills with w3resource's quiz



Python: Tips of the Day

How to sort a Python dict by value

Example:

x1 = {'a': 5, 'b': 7, 'c': 9, 'd': 1}

sorted(x1.items(), key=lambda x: x[1])
[('d', 1), ('c', 9), ('b', 7), ('a', 5)]

# Or:

import operator
print(sorted(x1.items(), key=operator.itemgetter(1)))

Output:

[('d', 1), ('a', 5), ('b', 7), ('c', 9)]