Home > Enterprise >  multiply columns pandas with each other
multiply columns pandas with each other

Time:01-06

I have a pandas dataframe and I want to add to it new features, like this:

Say I have features X_1,X_2,X_3 and X_4, then I want to add X_1 * X_2, X_1 * X_3, X_1 * X_4, and similarly X_2 * X_3, X_2 * X_4 and X_3 * X_4. I want to add them, not replace the original features.

How do I do that?

CodePudding user response:

You just multiply the columns and assign them to new columns:

import pandas as pd

df = pd.DataFrame({'One': [1, 2, 3, 4], 'Two': [4, 3, 2, 1]})
print(df)

df['One times two'] = df['One'] * df['Two']
print(df)

outputs

   One  Two
0    1    4
1    2    3
2    3    2
3    4    1
   One  Two  One times two
0    1    4              4
1    2    3              6
2    3    2              6
3    4    1              4

CodePudding user response:

Let's say all are integers X_1,X_2,X_3 and X_4. You can create new nan columns and could add what do you want in there.

df['X_1multipleX_2'] = np.nan
df['X_1multipleX_2'] = df['X_1']*df['X_2'] #You can do it without first step.
  • Related