Search code examples
pythonpandasmultiple-columnscalculated-columns

How to multiply specific column from dataframe with one specific column in same dataframe?


I have a dataframe where i need to create new column based on the multiplication of other column with specific column

Here is how my data frame looks.

df:

Brand     Price      S_Value        S_Factor
A         10          2             2
B         20          4             1
C         30          2             1
D         40          1             2
E         50          1             1
F         10          1             1

I would like multiply column Value and Factor with Price to get new column. I can do it manually but I have a lot of column and all start with specific prefix wihivh i need to multiply... here I used S_ which mean I need to multiply all the columns which start with S_

Here would be te desired output columns

Brand     Price      S_Value        S_Factor       S_Value_New       S_Factor_New
A         10          2             2
B         20          4             1
C         30          2             1
D         40          1             2
E         50          1             1
F         10          1             1

Solution

  • Firstly, to get the columns which you have to multiply, you can use list comprehension and string function startswith. And then just loop over the columns and create new columns by muptiplying with Price

    multiply_cols = [col for col in df.columns if col.startswith('S_')]
    for col in multiply_cols:
        df[col+'_New'] = df[col] * df['Price']
    
    df
    

    enter image description here