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.
Python: Tips of the Day
Find current directory and file's directory:
To get the full path to the directory a Python file is contained in, write this in that file:
import os dir_path = os.path.dirname(os.path.realpath(__file__))
(Note that the incantation above won't work if you've already used os.chdir() to change your current working directory, since the value of the __file__ constant is relative to the current working directory and is not changed by an os.chdir() call.)
To get the current working directory use
import os cwd = os.getcwd()
Documentation references for the modules, constants and functions used above:
- The os and os.path modules.
- The __file__ constant
- os.path.realpath(path) (returns "the canonical path of the specified filename, eliminating any symbolic links encountered in the path")
- os.path.dirname(path) (returns "the directory name of pathname path")
- os.getcwd() (returns "a string representing the current working directory")
- os.chdir(path) ("change the current working directory to path")
Ref: https://bit.ly/3fy0R6m
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework