Pandas: Rename names of columns and specific labels of the Main Index of MultiIndex dataframe
Pandas Indexing: Exercise-15 with Solution
Write a Pandas program to rename names of columns and specific labels of the Main Index of the MultiIndex dataframe.
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))
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)
print("\nRename the columns name of the said dataframe")
df1 = df.rename(columns={0: "col1", 1: "col2", 2:"col3", 3:"col4", 4:"col5"})
print(df1)
print("\nRename specific labels of the main index of the DataFrame")
df2 = df1.rename(index={"sale2": "S2", "city2": "C2"})
print(df2)
Sample Output:
[('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 -0.846342 -0.741958 1.776873 -0.526789 0.425722 city2 -1.191729 2.871049 1.334246 -0.555390 0.678033 sale2 city1 1.215433 -0.305873 -0.197025 -1.145550 0.367179 city2 -1.043111 -0.054862 -0.409382 -0.781236 -1.111498 sale3 city1 0.198136 -0.092846 0.211265 -0.338316 -0.006117 city2 1.254932 0.660553 -0.343675 -1.488751 1.141144 sale4 city1 0.440996 -1.886134 -1.705170 -0.583568 -0.094108 city2 -0.645809 -0.979893 0.589839 -0.440143 0.032115 Rename the columns name of the said dataframe col1 col2 col3 col4 col5 sale city sale1 city1 -0.846342 -0.741958 1.776873 -0.526789 0.425722 city2 -1.191729 2.871049 1.334246 -0.555390 0.678033 sale2 city1 1.215433 -0.305873 -0.197025 -1.145550 0.367179 city2 -1.043111 -0.054862 -0.409382 -0.781236 -1.111498 sale3 city1 0.198136 -0.092846 0.211265 -0.338316 -0.006117 city2 1.254932 0.660553 -0.343675 -1.488751 1.141144 sale4 city1 0.440996 -1.886134 -1.705170 -0.583568 -0.094108 city2 -0.645809 -0.979893 0.589839 -0.440143 0.032115 Rename specific labels of the main index of the DataFrame col1 col2 col3 col4 col5 sale city sale1 city1 -0.846342 -0.741958 1.776873 -0.526789 0.425722 C2 -1.191729 2.871049 1.334246 -0.555390 0.678033 S2 city1 1.215433 -0.305873 -0.197025 -1.145550 0.367179 C2 -1.043111 -0.054862 -0.409382 -0.781236 -1.111498 sale3 city1 0.198136 -0.092846 0.211265 -0.338316 -0.006117 C2 1.254932 0.660553 -0.343675 -1.488751 1.141144 sale4 city1 0.440996 -1.886134 -1.705170 -0.583568 -0.094108 C2 -0.645809 -0.979893 0.589839 -0.440143 0.032115
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Next: Write a Pandas program to sort a MultiIndex of a DataFrame. Also sort on various levels of index.What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/python-exercises/pandas/index/pandas-indexing-exercise-15.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics