You may use add_prefix in order to add a prefix to each column name in Pandas DataFrame:
df = df.add_prefix('my_prefix')
In the next section, you’ll see a simple example with the steps to add a prefix to your columns.
Steps to Add Prefix to Each Column Name in Pandas DataFrame
Step 1: Create a DataFrame
To start with a simple example, let’s suppose that you have the following dataset with 3 columns:
Product | Price | Discount |
ABC | 750 | Yes |
DDD | 430 | No |
XYZ | 980 | No |
AAA | 250 | Yes |
CCC | 620 | No |
You can then create a DataFrame as follows:
import pandas as pd data = {'Product': ['ABC','DDD','XYZ','AAA','CCC'], 'Price': [750,430,980,250,620], 'Discount': ['Yes','No','No','Yes','No'] } df = pd.DataFrame(data, columns = ['Product','Price','Discount']) print (df)
Once you run the code in Python, you’ll get the following DataFrame:
Product Price Discount
0 ABC 750 Yes
1 DDD 430 No
2 XYZ 980 No
3 AAA 250 Yes
4 CCC 620 No
Step 2: Add Prefix to Each Column Name in Pandas DataFrame
Let’s suppose that you’d like to add a prefix to each column name in the above DataFrame.
For example, let’s say that you want to add the prefix of ‘Sold_‘ to each column name.
In that case, you’ll need to apply this syntax in order to add the prefix:
df = df.add_prefix('Sold_')
So for our example, the complete Python code would look like this:
import pandas as pd data = {'Product': ['ABC','DDD','XYZ','AAA','CCC'], 'Price': [750,430,980,250,620], 'Discount': ['Yes','No','No','Yes','No'] } df = pd.DataFrame(data, columns = ['Product','Price','Discount']) df = df.add_prefix('Sold_') print (df)
As you may see, the ‘Sold_‘ prefix was added to each column:
Sold_Product Sold_Price Sold_Discount
0 ABC 750 Yes
1 DDD 430 No
2 XYZ 980 No
3 AAA 250 Yes
4 CCC 620 No
But what if you just want to add a prefix to a single column (or a subset of columns)?
In that case, you may consider to use rename instead.
For instance, let’s say that you want to add a prefix (of ‘Sold_’) to the ‘Price‘ column only. Here is the Python code that you may use to:
import pandas as pd data = {'Product': ['ABC','DDD','XYZ','AAA','CCC'], 'Price': [750,430,980,250,620], 'Discount': ['Yes','No','No','Yes','No'] } df = pd.DataFrame(data, columns = ['Product','Price','Discount']) df = df.rename(columns = {'Price':'Sold_Price'}) print (df)
You’ll now see that the ‘Sold_’ prefix was only added to the ‘Price’ column:
Product Sold_Price Discount
0 ABC 750 Yes
1 DDD 430 No
2 XYZ 980 No
3 AAA 250 Yes
4 CCC 620 No
You may also want to check the Pandas Documentation for further information about add_prefix.