Changing multiple column names but not all of them - Pandas Python
dataframe, pandas, python
Solution
say you have a dictionary of the new column names and the name of the column they should replace:
df.rename(columns={'old_col':'new_col', 'old_col_2':'new_col_2'}, inplace=True)
But, if you don't have that, and you only have the indices, you can do this:
column_indices = [1,4,5,6]
new_names = ['a','b','c','d']
old_names = df.columns[column_indices]
df.rename(columns=dict(zip(old_names, new_names)), inplace=True)
Problem
I would like to know if there is a function to change specific column names but without selecting a specific name or without changing all of them. I have the code: ``` df=df.rename(columns = {'nameofacolumn':'newname'}) ``` But with it i have to manually change each one of them writing each name. Also to change all of them I have ``` df = df.columns['name1','name2','etc'] ``` I would like to have a function to change columns 1 and 3 without writing their names just stating their location.