Home > Enterprise >  rename columns with loop
rename columns with loop

Time:10-01

I'm trying to rename columns in a df with a for-loop.

Where am I going wrong with below?

for col_name in df:
    df.rename(columns={col_name:col_name   '_x'})

df now:

A B C
- - -

Desired result:

Ax Bx Cx
- - -

CodePudding user response:

You can use list comprehension with pandas.DataFrame.columns :

df.columns = [col   "x" for col in df.columns]

Or simply :

df.columns = df.columns   "x"

CodePudding user response:

Try to add inplace=True parameter:

for col_name in df:
    df.rename(columns={col_name: col_name   "_x"}, inplace=True)

Prints:

  A_x B_x C_x
0   -   -   -

I recommend to look at .add_suffix() method:

df = df.add_suffix("_x")
  • Related