Pandas: Construct a DataFrame using the MultiIndex levels
Write a Pandas program to construct a DataFrame 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 Dataframe using the said MultiIndex levels: ")
df = pd.DataFrame(np.random.randn(8, 5), index=sales_index)
print(df)
Sample Output:
Create a MultiIndex: [('sale1', 'city1'), ('sale1', 'city2'), ('sale2', 'city1'), ('sale2', 'city2'), ('sale3', 'city1'), ('sale3', 'city2'), ('sale4', 'city1'), ('sale4', 'city2')] Construct a Dataframe using the said MultiIndex levels: 0 1 2 3 4 sale city sale1 city1 -1.020550 -0.809408 0.911425 0.059023 0.495317 city2 -1.208514 0.039022 0.088428 -0.899280 1.722276 sale2 city1 0.510427 -0.396097 -2.076445 1.080586 1.268495 city2 -1.158077 -0.892657 1.221519 -0.802645 0.095342 sale3 city1 1.535934 0.432627 -1.307655 0.031096 -0.060850 city2 0.601156 0.202661 -1.469705 -1.787885 1.285210 sale4 city1 0.455104 0.395752 0.115163 1.188649 0.415450 city2 0.218054 -0.722397 0.590288 -1.347249 -0.223215
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Pandas program to construct a series using the MultiIndex levels as the column and index.
Next: Write a Pandas program to extract a single row, rows and a specific value from a MultiIndex levels DataFrame.What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics