Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing Suffix From Dataframe Column Names - Python

I am trying to remove a suffix from all columns in a dataframe, however I am getting error messages. Any suggestions would be appreciated.

df = pd.DataFrame(np.random.randint(0,10,size=(10, 4)), columns=list('ABCD'))
df.add_suffix('_x')

def strip_right(df.columns, _x):
    if not text.endswith("_x"):
        return text
    # else
    return text[:len(df.columns)-len("_x")]

Error:

def strip_right(tmp, "_x"):
                            ^
SyntaxError: invalid syntax

I've also tried removing the quotations.

def strip_right(df.columns, _x):
    if not text.endswith(_x):
        return text
    # else
    return text[:len(df.columns)-len(_x)]

Error:

def strip_right(df.columns, _x):
                      ^
SyntaxError: invalid syntax
like image 708
Starbucks Avatar asked Jan 27 '23 22:01

Starbucks


1 Answers

Here is a more concrete example:.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,10,size=(10, 4)), columns=list('ABCD'))
df = df.add_suffix('_x')

print ("With Suffix")
print(df.head())

def strip_right(df, suffix='_x'):
    df.columns = df.columns.str.rstrip(suffix)

strip_right(df) 

print ("\n\nWithout Suffix")
print(df.head())

Output:

With Suffix
   A_x  B_x  C_x  D_x
0    0    7    0    2
1    5    1    8    5
2    6    2    0    1
3    6    6    5    6
4    8    6    5    8


Without Suffix
   A  B  C  D
0  0  7  0  2
1  5  1  8  5
2  6  2  0  1
3  6  6  5  6
4  8  6  5  8
like image 127
faisal Avatar answered Mar 20 '23 04:03

faisal