#By creating a copy - using df.rename() method
df = df.rename(columns={'col_1': 'changed_col_1', 'col_2': 'changed_col_2'})
print(df)
#Without creating copy - using df.rename() method with inplace=True
df.rename(columns={'col_1': 'changed_col_1', 'col_2': 'changed_col_2'}, inplace=True)
print(df)
In the above code snippet, we are using DataFrame.rename() method to change the name of columns. There is a DataFrame df that contains two columns col1 and col2.
In the first example, we are re-assigning our DataFrame to df after changing its column names. To change column names without assigning to DataFrame you can use the inplace=True inside rename() method as shown in the second example.
import pandas as pd
data = [['John', 'New York'], ['Carol', 'Kingdom'], ['Rick', 'Alexendria']]
df = pd.DataFrame(data, columns = ['UserName', 'Address'])
print(df)
# Assigning new dataframe after changing column names
df = df.rename(columns={'UserName': 'FirstName', 'Address': 'MyAddress'})
print(df)
# change columns without making a new copy - use inplace=True
df.rename(columns={'UserName': 'FullName', 'Address': 'FullAddress'}, inplace=True)
print(df)
import pandas as pd
data = [['John', 'New York'], ['Carol', 'Kingdom'], ['Rick', 'Alexendria']]
df = pd.DataFrame(data, columns = ['UserName', 'Address'])
df.columns = ['FirstName', "FullAddress"]
print(df)
import pandas as pd
# create a movie dataframe
data = [['Tony Stark', 'Iron Man'], ['Steve Rogers', 'Captain America']]
movie_df = pd.DataFrame(data, columns = ['Character', 'Movie'])
# using axis = 1
movie_df = movie_df.rename({'Character': 'Name', 'Movie': 'Mervel'}, axis=1)
# using axis = 'columns'
movie_df = movie_df.rename({'Character': 'Name', 'Movie': 'Mervel'}, axis='columns')
# If you do not want to copy and assign new DataFrame use inplace=True
movie_df.rename({'Character': 'Name', 'Movie': 'Mervel'}, axis=1, inplace=True)
import pandas as pd
# create a movie dataframe
data = [['Tony Stark', 'Iron Man'], ['Steve Rogers', 'Captain America']]
movie_df = pd.DataFrame(data, columns = ['Character', 'Movie'])
# use set_axis and provide list if column names
movie_df.set_axis(['Name', 'Movie Name'], axis=1, inplace=True)
print(movie_df)
0 Comments