import pandas as pd
import numpy as np

df = pd.DataFrame({'A#':[1,2], 'B#':[3,4], 'C#':[5,6]})
df
A# B# C#
1 3 5
2 4 6

Rename with DataFrame.rename()

df.rename(index= str, columns={"A#": "a", "B#": "b"})
a b C#
1 3 5
2 4 6

Print df again

A# B# C#
1 3 5
2 4 6

Column names did’nt change.

To change names permanently, use “inplace=True”

df.rename(index= str, columns={"A#": "a", "B#": "b"}, inplace = True)
df
a b C#
1 3 5
2 4 6

Rename in batch

df.rename(index= str, columns=lambda x:x.replace('#',''))
A B C
1 3 5
2 4 6

Lambda is amazing